【发布时间】:2013-03-31 21:28:45
【问题描述】:
我今天在我的一个 Linq-To-Entitites 查询中偶然发现了一个 null ref 异常,我想知道这怎么可能。似乎用作 OR 门的条件 OR 在 Linq-To-Entities 中没有效果。我的查询的一个简化示例如下:
from a in db.Articles
where a.Author == "John Doe"
&& (tag == null || a.Tags.Any(t => t.TagName == tag.TagName))
select a;
现在,当 tag 为 NULL 时,where 查询的右侧仍会执行,并且 tag.TagName 上会发生 NULL 引用异常。也许这是因为 Linq-To-Entities 总是将完整的语句翻译成 SQL?
无论如何...如何解决这个问题?
非常感谢:)
【问题讨论】:
标签: c# linq entity-framework linq-to-entities