使用“外部连接”填充嵌套类使用linq
本文关键字:嵌套 linq 填充 外部 连接 外部连接 使用 | 更新日期: 2023-09-27 18:06:41
我试图填充类A(不好意思命名),从EF使用Linq的数据。
得到这些类:
public class A
{
public string SomeA { get; set; }
public B B { get; set; }
public List<C> C { get; set; }
}
public class B
{
public string SomeB { get; set; }
public string SomeB2 { get; set; }
}
public class C
{
public string SomeC { get; set; }
public string SomeC2 { get; set; }
}
我的SQL查询获得所需的所有信息看起来像:
SELECT * FROM A
JOIN B ON A.X = B.X
LEFT JOIN C ON C.X = B.X
linq查询如何填充A?
List<A> things = ......
Thanks in advance
/Lasse
这比你想象的要简单:
List<A> things = (
from thing in db.As
where thing.B.C != null
select thing)
.ToList();
注意:要使其工作,您的EF模型必须理解B
和C
之间存在FK关系。在这种情况下(通常是当FK在数据库中并且您直接从数据库定义生成模型时),EF将在B
上生成C
属性(反之亦然)。