我在网上进行了很长一段时间的搜索,但实际上并没有直接的答案。我将如何使用Include
来使用Where
来过滤嵌套的集合?例如,假设我要包含所有未禁用的CartItems
:
var myCart = _dbContext.Carts
.Include(cart => cart.CartShippingBoxes
.Select(cartShippingBox => cartShippingBox.CartItems
.Where(cartItem => !cartItem.IsDisabled))); // This doesn't work
答案 0 :(得分:1)
尝试一下:
var carts = _dbContext.CartShippingBoxes
.Include(item => item.Cart)
// .ThenInclude(cart => cart.A)
.Where(cartItem => !cartItem.IsDisabled))
Select(s=> s.Cart).ToList();
或者使用Include
的重载,该重载采用类型为string
的参数,例如:
.Include("Cart").Include("Cart.CollectionA").Include("Cart.CollectionB")
.Include("Cart.CollectionZ")