我有一个这样的产品列表
var r = db.Products.Where(x => x.Sites
.Where(z => z.Key == associatedProducts.Key)
.Any()
).ToList()
有一个名为Products的实体,我想从products中获取所有元素,除了那些存在于associatedProducts中的元素。Products
我该怎么做?
4条答案
按热度按时间ktecyv1j1#
如果在previos查询中使用EF获取associatedProducts列表,则以下查询有效。
否则,如果
associatedProducts
是尚未使用EF获取的列表(假设Key
是整数);vmpqdwk32#
我没有测试查询,但它应该是这样的。
你应该看看如何在linq中使用“not in”:
How would you do a "not in" query with LINQ?
xjreopfe3#
在EF6的背景下。我假设Product和AssociatedProduct实体之间存在一对多的关系。因此,您可以使用导航属性来查找指定的结果。
如果实体类的定义如上所示,则查询将生成所有未关联的产品。
bybem2ql4#
您可以加载要排除的产品列表,然后将其从所有产品列表中删除。