如何在 DLINQ 中使用项目列表执行 Contains()?
我想构建一个 dlinq 查询来检查标题中是否包含任意数量的项目。 我知道您可以对列表执行 .Contains()
,但我需要检查标题是否包含任何项目,而不是项目是否包含标题的一部分。 例如:我的列表中有三项“培根、鸡肉、猪肉”。 我需要“鸡舍”的标题来匹配。
var results = (from l in db.Sites
where list.Contains(l.site_title)
select l.ToBusiness(l.SiteReviews)).ToList();
如果我尝试前 2 个答案,则会收到错误“本地序列不能在查询运算符的 LINQ to SQL 实现中使用,除了 Contains() 运算符。”
第三个解决方案给了我
方法“System.Object DynamicInvoke(System.Object[])”不支持对 SQL 的转换。”
I want to build a dlinq query that checks to see if a title has any number of items in it. I know you can do .Contains()
with a list, but I need to check if the title contains any of the items, not if the items contain part of the title. For example: I have three items in the list "bacon, chicken, pork". I need the title of "chicken house" to match.
var results = (from l in db.Sites
where list.Contains(l.site_title)
select l.ToBusiness(l.SiteReviews)).ToList();
If I try the first 2 answers, I get an error "Local sequence cannot be used in LINQ to SQL implementation of query operators except the Contains() operator."
The third solution gives me
Method 'System.Object DynamicInvoke(System.Object[])' has no supported translation to SQL."
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尝试以下操作。 您可以使用Where 和Any 的组合来搜索子字符串匹配项。
Try the following. You can use a combination of Where and Any to search for substring matches.
一种方法是动态构建查询,如下所述:
http ://andrewpeters.net/2007/04/24/dynamic-linq-queries-contains-operator/
One way is to dynamically build a query as outlined here:
http://andrewpeters.net/2007/04/24/dynamic-linq-queries-contains-operator/
我终于弄明白了。 感谢我的好朋友科里的帮助。 有两种方法可以做到这一点。
这是一个 linq 查询,它将成功执行指定的操作。 同样,您也可以手动构建纯文本的 sql 查询。
I finally figured it out. Thanks to my good buddy Cory for the help. There are two ways you can do it.
This is a linq query that will successfuly do what is stated. As well, you can also just build the sql query in plain text by hand.