如果我有 3 张桌子:
表 1、表 2、表 3
并且 Table3 对 Table2 有一个 FK,它对 Table1 有一个 FK
然后我像这样加载我的对象:
using(Entities entities = new Entities()
{
Table1 table = entities.Table1.FirstOrDefault();
table.Table2.Load();
}
由于 LazyLoading 已关闭,我如何急切地将 table3 加载到 table2。
我知道我可以在 FirstOrDefault 语句中使用 Include,但它会生成一个太大的连接。
回答
using(Entities entities = new Entities())
{
Table1 table = entities.Table1.FirstOrDefault();
var table2 = table.Table2.CreateSourceQuery().Include("Table3")
.Execute(MergeOption.AppendOnly);
table.Table2.Attach(table2);
}