2016-06-14 6 views
0

私は2つのクラスを持っています。linqの特定のアイテムが含まれていないリストから選択

public class Category 
{ 
    public int Id {get;set;} 
    public string Name{get;set;} 
} 
public class Product 
{ 
    public int ProductId{get;set;} 
    public string Name{get;set;} 
    public List<Category> ProductCategory {get;set;} 
} 

は今、私は、製品に私は「自家製」と「未調理」に属していないすべての製品に必要

List<string> filtercategory ={"HomeMade","Uncooked"}. 

を取得する必要があることに基づいて、カテゴリリストを持っています。

ここでは、どのようなlinqクエリロジックが必要ですか?

ありがとうございました。

答えて

0

あなたは単にWhereでフィルタリングすることができます:

List<Product> productList = GetProducts(); 
var filteredProducts = productList 
         .Where(p => p.ProductCategory 
             .All(pc => !filtercategory.Contains(pc.Name))) 
         .ToList(); 

これはproductListをフィルタリングし、製品のみをとるためすべてカテゴリ名はfiltercategoryでを含まないです。


私は、LINQからSQLへ、ない企業とでこれをテストしたので、私は、これはまた、エンティティのために働くことを100%わかりません。

+0

Rene Vogt:ありがとう。正しく動作します。あなたができる編集は1つだけです。 '(pc.Name))のような括弧を1つ入れてください。)ToList()' – Hector

+0

しかし、ありがとうございます。私の頭を壊していた。 :-) – Hector

関連する問題