首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JoinQueryOver和JoinAlias有什么区别?

JoinQueryOver和JoinAlias有什么区别?
EN

Stack Overflow用户
提问于 2011-03-24 16:33:41
回答 1查看 38.7K关注 0票数 90

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-24 22:33:57

从功能上讲,它们做的是相同的事情,创建到另一个实体的连接。唯一的区别是它们返回的是什么。JoinQueryOver返回一个新的QueryOver,其中当前实体是联接的实体,而JoinAlias返回将当前实体作为原始根实体的原始QueryOver。

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

代码语言:javascript
运行
复制
IQueryOver<Cat,Kitten> catQuery =
    session.QueryOver<Cat>()
        .JoinQueryOver<Kitten>(c => c.Kittens)
            .Where(k => k.Name == "Tiddles");

代码语言:javascript
运行
复制
Cat catAlias = null;
Kitten kittenAlias = null;
IQueryOver<Cat,Cat> catQuery =
    session.QueryOver<Cat>(() => catAlias)
        .JoinAlias(() => catAlias.Kittens, () => kittenAlias)
        .Where(() => kittenAlias.Name == "Tiddles");

在功能上相同。注意在第二个查询中kittenAlias是如何被明确引用的。

票数 111
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5416560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档