我正在尝试使用 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”)?