0
我有兩個類中的一個從另一個繼承。我試圖使用NHibernate映射這些類,以便我可以儘可能有效地查詢這兩個類。 基類是而不是抽象,需要能夠被自己查詢。基類看起來像這樣。NHibernate查詢基類無左連接到派生類
public class Cat
{
public int Id { get; set; }
public string Name { get; set; }
}
派生類看起來是這樣的:
public class CustomerCat : Cat
{
public int CustomerId { get; set; }
}
派生的簡單擴展基礎,並增加了更多的屬性吧。我的映射文件看起來像這樣
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="Foo"
namespace="Foo">
<class name="Cat" table="Cat">
<id name="Id" column="CatId" type="Int32" unsaved-value="0">
<generator class="native" />
</id>
<property name="Name" column="CatName" type="string" />
<joined-subclass name="CustomerCat" table="CustomerCat">
<key column="CatId" />
<property name="CustomerId " column="CustomerId" />
</joined-subclass>
</class>
</hibernate-mapping>
的具有1M的問題是,如果我通過一些查詢貓這樣的:
IList<Cat> cats = session.CreateCriteria<Cat>().List<Cat>();
將產生向左連接子類表連接到SQL。我可以查詢我的基類沒有任何引用到查詢中的任何派生類的表?