我正在做一些每表繼承和所有工作很好 - 但我注意到,當我想基本實體(基表數據)NHProf顯示左外部加入子實體/(相關表)如何避免每個表繼承使用NHibernate 2.1連接
如何設置默認行爲以僅查詢所需的數據 - 例如:當我想要一個父元素列表(並且只有那些數據)時,查詢只返回我那個元素。
現在我的映射類似於下面:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="FormBase, ClassLibrary1" table="tbl_FormBase">
<id name="BaseID" column="ID" type="Int32" unsaved-value="0">
<generator class="native" />
</id>
<property name="ImportDate" column="ImportDate" type="datetime" not-null="false" />
<joined-subclass table="tbl_Form" name="Form, ClassLibrary1">
<key column="ID"/>
<property name="gendate" column="gendate" type="string" not-null="false" />
</joined-subclass>
</class>
</hibernate-mapping>
和示例,我想所有的數據備份VS只有父實體如下所示:
Dim r As New FormRepository()
Dim forms As List(Of Form) = r.GetFormCollection().ToList()
Dim fbr As New FormBaseRepository()
Dim fb As List(Of FormBase) = fbr.GetFormBaseCollection().ToList()
啊...... - 有沒有另一種方法來解決這個繼承問題,如果我查詢該實體而不是孩子,將會保持我的基表獨立? (現在每個子元素都有自己的表) – 2009-08-26 19:36:49
我已經更新了我的答案 - 太多東西以適應評論 – ChssPly76 2009-08-26 19:50:05
嗯,我不認爲這是目前我的POC中的一個大問題,但是這個基類幾乎被繼承我的生產應用中有12個其他課程...所以我有點擔心(也許我不應該像你提到的那樣 - 每個都會被索引連接) – 2009-08-26 19:59:18