首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Linq查询结果中包含null的有关问题

2012-12-30 
Linq查询结果中包含null的问题CREATE TABLE [dbo].[ConsumeCategory] ([ConsumeCategoryID]INTIDENTITY (1

Linq查询结果中包含null的问题


CREATE TABLE [dbo].[ConsumeCategory] (
    [ConsumeCategoryID]   INT           IDENTITY (1, 1) NOT NULL,
    [ConsumeCategoryName] NVARCHAR (10) NOT NULL,
    [BusinessCategoryID]  INT           NULL)

上面表中BusinessCategoryID可能为null

ConsumeCategoryManager ccm=new ConsumeCategoryManager();
var query =
   (from cc in ccm.GetAllConsumeCategory()
    where cc.ConsumeCategoryID == Convert.ToInt32(cbb_consumeCategory.SelectedValue)
    select cc);
if (query.Single().BusinessCategoryID==null)
{}

GetAllConsumeCategory()方法返回ConsumeCategory所有数据,我的想法是通过ConsumeCategoryID来判断表中对应的BusinessCategoryID是否为null
执行到if()的时候总是报错
无法将类型为“<>f__AnonymousType0`2[System.Int32,System.String]”的对象强制转换为类型“System.IConvertible”。
[解决办法]
var query = ccm.GetAllConsumeCategory().SingleOrDefault(cc=> cc.ConsumeCategoryID == Convert.ToInt32(cbb_consumeCategory.SelectedValue));

if (query!=null &&Nullable<int>.Equals(query.BusinessCategoryID,null) ){}

热点排行