我試圖讓nhibernate在渴望獲取中使用別名。林不知道它可能。Nhibernate QueryOver在Eager Fetch中使用別名
我想在我的提取中使用別名(在我的例子中是bAlias)。
QueryOver<A>()
.JoinAlias(x => x.B,() => bAlias)
.JoinAlias(x => x.B,() => bAlias2)
.Where(() => bAlias2.Surname == "Smith")
.Fetch(() => bAlias).Eager
.Fetch(() => bAlias.C).Eager;
正如你所看到的,fetch命令使用2個別名而不是直接路徑。
上述代碼無效。可以工作的代碼是
QueryOver<A>()
.JoinAlias(x => x.B,() => bAlias)
.JoinAlias(x => x.B,() => bAlias2)
.Where(() => bAlias2.Surname == "Smith")
.Fetch(x => x.B).Eager
.Fetch(x => x.B.C).Eager;
正如您所看到的,它的Fetch語句不同。
爲什麼您需要使用'JoinAlias'中的別名? –