如何检查可以为空的布尔类型的条件?

时间:2013-12-12 08:18:17

标签: c# linq

我写了一个返回bool?的查询。

var query=
    (from der in Context.DealEntityRights
    join drule in Context.DealEntityRightsRule
        on der.EntityRightsID equals drule.DealEntityRights.EntityRightsID 
    where der.PlatformID == item.PlatformID
    select drule).Distinct().Select(a => a.HasRights);

HasRights的类型为bool?

现在我必须在if语句中检查条件,所以我写了:

if (Convert.ToBoolean(query))
{
    ...
}

但这是一个例外。我试过if (query.value == true),但它也不起作用。

1 个答案:

答案 0 :(得分:1)

尝试仅为具有值的结果添加过滤器:

...Select(a=>a.HasRights).Where(a => a.HasValue);