实体框架核心:我必须将相关实体包含在查询中以对它们执行Where()查询吗?

时间:2017-03-24 09:46:09

标签: entity-framework-core

假设我有以下数据库模型: enter image description here

假设我想让所有具有至少1个可用产品的ProductCategories,我的查询将是这样的:

return (from cat in dbContext.ProductCategories
        where cat.Producty.Any(prod => prod.IsAvailable == true)
        select cat).ToList();

现在我的问题是:我还必须包含相关实体我想检查我的查询以确保对相关实体的检查是否正确执行?例如

return (from cat in dbContext.ProductCategories
           .Include(cat => cat.Products)
        where cat.Producty.Any(prod => prod.IsAvailable == true)
        select cat).ToList();

1 个答案:

答案 0 :(得分:2)

不,如果您确实想在最终结果中包含相关实体,则只需要Includewhere子句可以在SQL JOIN语句中翻译,但这对包含的内容没有影响。