1

GetProducts()在下面调用该方法时出现异常。我实际上是在尝试按指定国家/地区的可用产品来过滤我的产品列表。产品和国家之间存在一对多的关系设置。

    public static List<Product> GetProducts(Country country)
    {
        Context db = new Context();
        return db.Products.Where(m => m.Countries.Contains(country)).ToList<Product>();
    }

无法创建“DataModels.Country”类型的常量值。此上下文仅支持原始类型或枚举类型。

如果我没有以正确的方式进行此操作,那么按单个选定国家/地区过滤产品的最佳方法是什么?

4

1 回答 1

3

您只能根据原始类型进行比较。

我会改变它以使用该Any方法。替换ID为 Country 实体键(或唯一属性)

db.Products.Where(m => m.Countries.Any(c => c.ID == country.ID)).ToList<Product>();
于 2012-10-10T17:44:59.720 回答