nHibernate:将实体名称与 QueryOver 和 CreateCriteria 一起使用
我有两个 hbm.xml 映射文件。除了类表和类实体名称属性之外,它们是相同的。他们应该填充同一个实体。 它们的实体名称分别为 Alpha 和 Beta,表分别为 PersonAlpha 和 PersonBeta。
我尝试使用 QueryOver 和 Criteria 来填充实体 Person:
var person = session.QueryOver<Person>("Alpha").Where(p => p.Firstname == "Donald").SingleOrDefault<Person>();
var person2 = session.CreateCriteria("Beta").Add(Restrictions.Eq("Firstname", "Donald")).UniqueResult<Person>();
正如我对实体名称的引用一样,我认为 nHibernate 会知道要使用哪个映射文件,但根据 Profiler,上述每个语句都会针对 PersonAlpha 和 PersonBeta 表生成 SQL 。这是为什么呢?
我使用的是 3.2.0 2001 og nHibernate 版本。
谢谢!
I have two hbm.xml mappingfiles. They are identical except for the class table and class entity-name properties. They are supposed to populate the same Entity.
They have entity-name= Alpha and Beta, table= PersonAlpha and PersonBeta respectively.
I have tryed using both QueryOver and Criteria to populate the entity Person:
var person = session.QueryOver<Person>("Alpha").Where(p => p.Firstname == "Donald").SingleOrDefault<Person>();
var person2 = session.CreateCriteria("Beta").Add(Restrictions.Eq("Firstname", "Donald")).UniqueResult<Person>();
As Im ref to the entity-name I thought nHibernate would know which mappingfile to use, but according to Profiler each of the above statements generete SQLs against both the PersonAlpha and PersonBeta tables. Why is this?
Im using version 3.2.0 2001 og nHibernate.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论