【发布时间】:2013-12-24 17:57:52
【问题描述】:
我的数据库中有一个名为Citites 的表。我想检索名称包含strings 列表中任何值的所有城市。
List<string> strings = new List<string>(new string[] {"burg", "wood", "town"} );
我试过了,但它只会匹配字符串列表中的确切值。我需要找到包含例如town 的值,例如cape town 和townsend
List<City> cities = db.Cities.Where(c => strings.Contains(c.name));
编辑
我正在使用 LINQ to SQL 和 Any() 这里似乎不支持:
在查询的 LINQ to SQL 实现中不能使用本地序列 除包含运算符外的运算符。
【问题讨论】:
-
对于这样的问题,请务必注意您使用的是哪种 LINQ 提供程序 - 是 Linq-to-sql、实体框架(然后是哪个版本)等。这是因为每个提供程序都支持一组不同的表达式。
-
@Knaģis - 好点,它已经更新了。
标签: c# linq linq-to-sql