gpt4 book ai didi

nhibernate - JoinQueryOver 和 JoinAlias 有什么区别?

转载 作者:行者123 更新时间:2023-12-03 05:06:01 31 4
gpt4 key购买 nike

我需要知道 JoinQueryOver 和 JoinAlias 之间有什么区别,以及何时使用它们?

最佳答案

从功能上来说,它们做同样的事情,创建到另一个实体的连接。唯一的区别是它们返回的内容。 JoinQueryOver 返回一个新的 QueryOver,其中当前实体是加入的实体,而 JoinAlias 返回将当前实体作为原始根实体的原始 QueryOver。

无论您使用哪一种都是个人喜好问题:(来自http://nhibernate.info/doc/nh/en/index.html#queryqueryover)

IQueryOver<Cat,Kitten> catQuery =
session.QueryOver<Cat>()
.JoinQueryOver<Kitten>(c => c.Kittens)
.Where(k => k.Name == "Tiddles");

Cat catAlias = null;
Kitten kittenAlias = null;
IQueryOver<Cat,Cat> catQuery =
session.QueryOver<Cat>(() => catAlias)
.JoinAlias(() => catAlias.Kittens, () => kittenAlias)
.Where(() => kittenAlias.Name == "Tiddles");

功能相同。请注意第二个查询中如何明确引用 kittenAlias。

关于nhibernate - JoinQueryOver 和 JoinAlias 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5416560/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com