我在Products
和Category
之间有多对多关联。我用ef6把它们映射成
当我通过request.categoryId查询以进行筛选时,我会遇到以下问题:
- 与
var query = from product in _context.Products select product ;
->我无法获取每个产品的类别(product.categories==null( - 带
var query = from product in _context.Products select new {product, product.Categories };
->我无法按类别ID进行筛选,我想使用以下内容:
query = query.Where(p => p.Categories.ForEach(category=>category.Id == request.categoryId) );}
或query = query.Where(p => p.Categories.Find(category=>category.Id==request.categoryId) )
->结果:Anonymous type :'a{product,product.Categories}
如何在Product
实体中将product.Categories
自动分配给List<Category> Categories
我不知道如何描述我的问题,帮帮我!!
使用第一个查询,但只添加Include
var query =
from product in _context.Products.Include(x => x.Categories)
select product;
由于在这种情况下使用查询约束过于冗长,因此可以尝试方法链语法。
var query = _context.Products
.Include(x => x.Categories)
.AsQueryable(); // just for changing type to IQueryable