私はPeople
とOrders
の2つのテーブルと、PeopleOrders
を使用する2対多の関係を持っています。Linqを使用してWhere句と多対多関係をクエリする
各注文には、2人の人物、すなわちClient
とSalesman
が関連付けられています。
私は、次のクエリを持っている:
[{"Id":1,"OrderId":[2]},{"Id":9,"OrderId":[10,11,12,13]},{"Id":14,"OrderId":[14,15]}]
ClientID
と受注の配列:
var query = db.People
.Where(u => u.Description.Equals("Client"))
.Select(u => new {u.Id, OrderId = u.Orders.Select(p => p.Id))
})
.ToList();
これは、このようなJSONを返します。
私は転倒する必要があります。注文は配列にすることはできません。
だからClientID
に関連付けられたOrderID
が必要です。このような何か:
[{"OrderId":2,"Id":1},{"OrderId":10,"Id":9},{"OrderId":11,"Id":9},{"OrderId":12,"Id":9},{"OrderId":13,"Id":9}]
クエリはのようになります。
var query = db.Orders
しかし、私はそれが唯一のクライアントを返すので、人々表を副問合せする必要があります。そうでない場合は、次のような人々の配列を返します。
{"OrderId":2,"Id":[1,10]}
ありがとうございます。
はどうもありがとうございました!これは問題を解決します。 – Migu3litto
@ Migu3littoようこそ。私は助けて嬉しい:) – Christos