c# - LINQ to SQL 和 Null 字符串,如何使用 Contains?

标签 c# .net linq-to-sql

这里是查询

from a in this._addresses
where a.Street.Contains(street) || a.StreetAdditional.Contains(streetAdditional)
select a).ToList<Address>()

如果 where 子句中的两个属性都具有值,这就可以正常工作,但例如,如果 a.StreetAdditional 为空(大多数情况下),我将得到一个空引用异常。

有解决办法吗?

最佳答案

我会使用空合并运算符...

(from a in this._addresses
where (a.Street ?? "").Contains(street) || (a.StreetAdditional ?? "").Contains(streetAdditional)
select a).ToList<Address>()

关于c# - LINQ to SQL 和 Null 字符串,如何使用 Contains?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/977159/

相关文章:

c# - 使用 C# 在 TreeView 中显示 perforce 的仓库

.net - Server 2008 R2 上的 microsoft.interop.security.azroles 在哪里?

c# - 在 .NET 语言之间共享类方法

c# - LINQ-SQL 在单个事务中更新多行

c# - 在 For 循环中使用 DateTime,递增日期不起作用

c# - 如何在 C# 中将 Cast null 类型转换为 Bool?

c# - 与策略模式相关的设计问题

c# - 即使未调用 System.Transactions.TransactionScope.Commit() 也已提交数据

c# - 是否可以自动为 SQL Server 和 LINQ to SQL 中的所有表名添加前缀?

string - 在 Linq To Sql 中处理可为空字符串列的最佳方法是什么?