我有类别,类别有一个产品集合(Category.Products)。我需要按其ID从数据库中检索一个类别,但我希望它不包括所有产品,而仅包括具有给定条件(例如,order = 0)的产品
如何用linq做到这一点? 我尝试过:
var e = db.Categories
.Include(a => a.products)
.Where(a => a.products.Any(r => r.order == 0))
.FirstOrDefault(p => p.id == id_category);
答案 0 :(得分:0)
我认为您无法做到。无论如何,对.Include()
的调用应该在任何where
子句之后,否则将无法工作。
答案 1 :(得分:0)
为了过滤子集合,您可以尝试将其选择为YouCustomModel
或匿名投影。
var e = db.Categories
.Where(c => c.id == id_category)
.Select(p=> new
{
category = p,
products = p.Products.Where(k=>k.order==0)
}.FirstOrDefault();
答案 2 :(得分:-1)
var e = db.Categories.Where(a => a.order == 0);