nHibernate:将entity-name与QueryOver和CreateCriteria一起使用

时间:2011-09-22 08:04:11

标签: nhibernate queryover nhibernate-criteria

我有两个hbm.xml映射文件。它们是相同的,除了类表和类实体名称属性。他们应该填充相同的实体。 它们分别具有entity-name = Alpha和Beta,table = 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。

谢谢!

0 个答案:

没有答案