LINQ を使用して 3 つの関連テーブルから取得しようとしています。しかし、2 つの結合を使用すると、結果は 2 番目の結合から取得した要素のみを取得します。これが私のコードです:
var myAssList = mldb.Assigns
.Join(mldb.Lists,
a => a.list_id,
l => l.id,
(a, l) => new {
Assign = a,
List = l
})
.Where(a => a.Assign.assigned_to == "myname")
.Join(mldb.Elements,
li => li.List.id,
e => e.parent_server_id,
(li, e) => new {
Element = e
});
var jsonSerialiser = new JavaScriptSerializer();
var listListJson = jsonSerialiser.Serialize(myAssList);
この Json は、Element(e) および List(li) からの属性のみを返します。しかし、Assign(a) から属性も取得したいと考えています。
私がLINQで実現しようとしているSQLクエリは次のとおりです。
select * from Assigns
inner join Lists
on Assigns.server_list_id=Lists.id
inner join Elements
on Lists.id=Elements.parent_id
where Assigns.assigned_to='myname'
では、最初の結合から (「a」、「l」、および「e」から) 属性を取得するにはどうすればよいですか?