【发布时间】:2009-06-10 17:49:19
【问题描述】:
这里是查询
from a in this._addresses
where a.Street.Contains(street) || a.StreetAdditional.Contains(streetAdditional)
select a).ToList<Address>()
如果 where 子句中的两个属性都有值,这可以正常工作,但如果例如 a.StreetAdditional 为空(大多数情况下),我将得到空引用异常。
有解决办法吗?
谢谢,
【问题讨论】:
-
您遇到异常了吗?还是您在推测可能有异常?
-
如果你有一个
NullReferenceException,你就没有在做 LINQ to SQL 查询。 -
您也可以考虑不允许 Street 或 StreetAdditional 为空。如果您的数据库支持默认值,您可以将它们默认为空字符串,设置标志以禁止空值并避免需要空值检查。
-
附带说明,该查询在 LinqPad 中确实有效。这怎么可能?为什么这两种工具的 Linq to SQL 行为会有如此大的差异?
标签: c# .net linq-to-sql