1

我有 3 个表: ProductCategory和,和之间的多对多关系的连接表ProductCategory在哪里。以下 Linq 查询(它是类中的扩展方法)会导致当前. 为什么是这样?如何改进?另请注意,这是数据库优先的 EF。ProductCategoryProductCategoryCategoryProductCategoryCategory

    public IEnumerable<Product> ActiveProducts
    {
        get
        {
            return this.ProductCategories.Where(c => !c.Product.IsDeleted && c.Product.IsActive).OrderBy(c => c.SortOrder).Select(c => c.Product);
        }
    }
4

2 回答 2

2

导航属性不是IQueryable,唉。这就是您获得 LINQ-to-Objects 查询的原因。

于 2013-10-18T17:09:00.563 回答
1

使用 Linq,默认设置是在可枚举的每次迭代中获取数据。如果您想一次获取所有行,请在查询中调用 .ToList()。这似乎是更有利的方法。

于 2013-10-18T17:11:20.880 回答