使用LINQ,获取包含特定属性值的对象列表

时间:2015-11-23 02:24:26

标签: c# .net asp.net-mvc linq

我有两个简单的模型:

 public class Product()
        {
           public long CategoryId {get; set;}
           //...etc
        }

 public class ProductCategory()
        {
           public long Id {get; set;}
           //...etc
        }

我已经编写了一个查询来存储ProductCategory.Id数字列表。

List<long> activeProductCategories

现在我想编写一个Linq查询,该查询获取所有CategoryId等于activeProductCategories中任意长度的产品的列表。

我已经开始写下面的内容了,但还没有取得多大进展:

List<Product> activeProducts = UnitOfWork.ProductRepository.Get().Where(a=>a.CategoryId //... ?

1 个答案:

答案 0 :(得分:1)

您可以使用linq Contains()方法

List<Product> activeProducts = UnitOfWork.ProductRepository.Get()
    .Where(a => activeProductCategories.Contains(a.CategoryId)).ToList();