【发布时间】:2011-10-10 22:56:45
【问题描述】:
对于以下查询,我得到一个 LINQ to SQL 异常。
var terms = "bob town".Split(' ');
var q = from m in db.Monument
where terms.All(t => new List<string>() {
m.Name,
m.Street,
m.Owner }.Any(
p => p.Contains(t)))
select m;
例外是:
在查询的 LINQ to SQL 实现中不能使用本地序列 除包含运算符之外的运算符。
如何修改查询以与 LINQ to SQL 兼容?
目标
查询的目标是这样的。我有一个搜索词列表和一个包含对象的数据库。如果所有搜索词都是至少一个属性的子字符串,则应返回一个对象。
例如。如果有一个对象o 与o.name="creek mill" 和o.street="St. Petersroad",则搜索“mill petersroad”应返回此对象,但搜索“mill foobar”不应返回。
【问题讨论】:
-
试试杰森的回答。 stackoverflow.com/questions/194930/… 不能解决你的问题吗?
-
你在blog.wekeroad.com/2008/02/27/…可能会遇到一些运气
标签: c# linq linq-to-sql exception contains