我有以下代码从数据库中获取定制产品,但可以,但是下面有问题,
var customProducts = _context.CustomProduct.Where(x => x.CustomReference == customReference);
var customProductIds = customProducts.Select(x => x.ProductId);
var disabledDirectoryProductIds = customProducts.Where(x => !x.IsDisabled).Select(x => x.ProductId);
var Products = _context.Product.Where(x => (x.IsDefault || customProductIds.Contains(x.Id)) &&
!disabledDirectoryProductIds.Contains(x.Id)).ToList();
即使也调用Product表,也可以将此方法放在CustomProductRepository中吗?
可以改善吗?
我有下面的代码从数据库中获取定制产品,但可以,但是下面有问题,var customProducts = _context.CustomProduct.Where(x => x.CustomReference == customReference); var ...
是的,查询被延迟,直到您调用ToList。我认为,在您之前的情况下,所有以前的调用仅向在SQL中转换的查询添加子句,对它进行评估。Deferred Execution of LINQ QueryDeferred Vs Immediate Query Execution in LINQDeferred vs Immediate Query Execution in LINQWhat are the benefits of a Deferred Execution in LINQ?