LINQ to Entities无法识别该方法

时间:2011-03-29 20:38:00

标签: c# linq entity-framework linq-to-entities

public IQueryable<Product> GetModelsInBrand(int BrandId) 
{ 
    IQueryable<Product> query = 
         from Product 
          in ObjectContext.Products.Where(p => (p.BrandId == BrandId)) 
         orderby Product.Model 
         select Product; 
        query = query.Distinct(new ProductByModelEqualityComparer()); 
        return query; 
}

执行返回查询后,我得到了

  

查询'GetModelsInBrand'的加载操作失败。 LINQ to Entities无法识别该方法。“

任何人都可以帮忙纠正吗?

1 个答案:

答案 0 :(得分:3)

可能LINQ到实体不支持您在ProductByModelEqualityComparer中编写的代码。您可以在致电AsEnumerable之前致电Distinct,这将使Distinct通过linq-to-objects执行,但不再是IQueryable

var enumerable = query.AsEnumerable().Distinct(new ProductByModelEqualityComparer()); return query; }