我正在使用NHibernate开发一个Web应用程序。您能否告诉我如何为以下SQL查询编写NHibernate查询:
SELECT v1.Id FROM VIEW v1 LEFT JOIN VIEW v2 ON v1.SourceView = v2.Id ORDER BY v1.Position 这基本上是一个自动联接,但是我不知道如何在Nhibernate中编写它。可以说属性名称与表列名称相同。
问题来源于stack overflow
您可以只对原始实体执行选择,并使两个对象之间的关联为“ lazy = false”。只要实体被映射,则两者都将被返回,并且在尝试访问该对象时您不会得到lazyloadingexception。
如果您不想映射“ lazy = false”,则还可以遍历结果并执行某种操作(例如询问其是否为null; if(v1.AssocatedObject == null){})以确保在会话打开时加载数据。
更新:
我认为实际上有一个比NHibernateUtil.Initialise()更好的函数,它可以初始化集合而不必在其中徘徊。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。