次のLINQクエリでは、注文していないが注文が$ 100以上の顧客を含む顧客をAll
と表示する必要があります。しかし、私の次のLINQクエリは注文価格に関係なくすべての顧客を返す。以下のLINQクエリで私のWhere(ord => ord.price > 100)
句を無視しているようです。私は何が間違っているかもしれませんか?LINQ to SQL - 残りの2つの結合が結合されていない状態で結合する
モデル:
public class Customer
{
public int CustomerId { get; set; }
public string CustName{ get; set; }
}
public class Order
{
public int OrderId { get; set; }
public int CustomerId { get; set; }
public float price { get; set; }
}
LINQクエリ:
var Query1 = from c in Customers
join ord in Orders on c.CustomerId equals ord.CustomerId into cord into cord
from t in cord.Where(ord => ord.price > 100).DefaultIfEmpty()
select new {CustName= c.Name, OrderID = (t == null ? 0 : t.OrderId)};
SQLクエリ:
私はLINQクエリにT-SQLクエリを次翻訳したい:
:
は次のようにクエリを変更してみ?または100以上の注文をした顧客のリストを返すのですか? –
@WillRayありがとうございました。あなたの質問に答えるために私のポストに 'UPDATE 2'セクションを追加しました。 – nam