【发布时间】:2014-04-25 10:21:21
【问题描述】:
我有一个列表必须至少包含另一个列表的值的情况。所以假设我们有一个列表 A,其值为 1、2、3。这是具有所需值的列表。
列表 B 的值是 1、5、6、7
列表 C 的值为 1、2、3、4、7
列表 D 的值为 2、5、6
在这种情况下,我只需要列表 C,因为这是唯一包含值 1、2 和 3 的列表。
我试过了,但这不起作用,因为它总是正确的:
query = from doc in query
let tagIds = from t in doc.Tags select t.Id
where parameters.TagIds.Except(tagIds).Count() <= parameters.TagIds.Count()
select doc;
当使用这个时:
query = from doc in query
let tagIds = from t in doc.Tags select t.Id
where !parameters.TagIds.Except(tagIds).Any<int>()
select doc;
我只得到列表与“必需”列表完全匹配的列表。
我的问题是,如何解决我在 Linq 2 SQL 查询中的情况?
【问题讨论】:
-
抱歉,我没有发现 linq-to-sql 的特定部分。
标签: c# linq linq-to-sql