我想构建一个 dlinq 查询来检查标题中是否包含任意数量的项目。我知道您可以对列表执行 .Contains()
,但我需要检查标题是否包含任何项目,而不是项目是否包含部分标题。例如:我在列表中有三个项目“培根、鸡肉、 pig 肉”。我需要 “鸡舍” 的标题来匹配。
var results = (from l in db.Sites
where list.Contains(l.site_title)
select l.ToBusiness(l.SiteReviews)).ToList();
如果我尝试前 2 个答案,我会得到一个错误 “Local sequence cannot be used in LINQ to SQL implementation of query operators except the Contains() operator.”
第三个解决方案给了我
Method 'System.Object DynamicInvoke(System.Object[])' has no supported translation to SQL."
最佳答案
尝试以下操作。您可以结合使用 Where 和 Any 来搜索子字符串匹配项。
var results = (from l in db.Sites
where list.Where(x => 0 != x.IndexOf(l)).Any()
select l.ToBusiness(l.SiteReviews)).ToList();
关于c# - 如何在 DLINQ 中使用项目列表执行 Contains()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/605012/