私はいくつかのテーブル継承を行っていますが、すべてがうまくいっていますが、私はベースエンティティ(ベーステーブルデータ) (関連テーブル)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>
そして、私は戻って、親エンティティ対のすべてのデータが欲しいの例を以下に示します。
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()
Ahh ... - 子ではなくそのエンティティを照会すると、基底テーブルを別に保つこの継承の問題に対する別のアプローチがありますか? (今はそれぞれの子要素に独自のテーブルがあります) –
私は上記のコメントを更新しました - コメントにあまりにも多くのものを入れてください – ChssPly76
私はそれが私のPOCの現在大きな問題だとは思わないが、この基本クラスはほとんど継承されています私のプロダクションアプリケーションでは他の12のクラス...だから私はちょっと心配しています(あなたが言及した通りにすべきではない - それぞれがインデックス付きの結合になる) –