读书人

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

发布时间: 2012-12-30 10:43:15 作者: rapoo

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) ){}

读书人网 >.NET

热点推荐