2016-03-22 2 views
-3

OrderLineListオブジェクトのリストを含むOrderオブジェクトのリストがあります。 各OrderLineListオブジェクトには「sku」プロパティがあります。Linqは、ネストされたリストがフィルタで一致しないリストのみを返します。

私が望むのは、 "sku" == "ABOLIVE"を持たないすべてのOrderLineListを取得することです。

これを行う方法はありますか?

私はそのような何か試してみました:

salefolder.OrderList.Where(o => o.OrderLineList.Except(o.OrderLineList.SelectMany(ol => ol.Sku.Select(s => s)).Any(); 

をしかし、それはこのコードは、SKUが一致していないご注文の各項目からあなたにOrderLineListアイテムを与えるだけでなく

おかげ

+1

はい。これまでに何を試しましたか?任意のコード?私たちはあなたのためにコードを作成するためのものではありません。 –

+0

['Any'](https://msdn.microsoft.com/library/bb534972%28v=vs.100%29.aspx)が役立ちます。 – grek40

+0

私は自分の投稿を編集して自分のコードを入れますが、どちらもうまくいかないようです – user1841787

答えて

1

を働いていません"崩壊する"。

void Main() 
{ 
    List<Order> orders; /* some orders */ 

    IEnumerable<OrderLine> filteredOrderLines = 
     orders 
     .SelectMany(order => order.OrderLineList) 
     .Where(orderLineList => orderLineList.sku != "ABOLIVE"); 
} 

class Order 
{ 
    public List<OrderLine> OrderLineList { get; set; } 
} 

class OrderLine 
{ 
    public String sku { get; set; } 
} 
+0

お返事ありがとう – user1841787

関連する問題