すべてが同じ列 (ID、コード、説明など) を共有するルックアップ テーブルがたくさんありますが、同僚から、一般的な lookup.hbm.xml マッピング ファイルを作成して、それをベースとして使用できるかどうか尋ねられました。他のすべてのルックアップ テーブル。nhibernate のサポートにはファイルが含まれていますか、または XML の共通のチャンクを参照する他の方法はありますか? Fluent がマッピング クラスで継承をサポートしていることは理解していますが、残念ながらマッピング テクノロジを切り替えることはできません。
1 に答える
2
はい、XML 外部エンティティを使用できます。共通フィールドを XML ファイルに配置し、.xml を使用して他の XML ファイルでそれらを参照します!ENTITY
。例えば:
<!DOCTYPE mappings [
<!ENTITY Address SYSTEM "xxx.Address.xml">
]>
NHibernate マップの XML では、次を使用してこれをインポートします。
&Address;
ファイルへの完全な名前空間 (パス) を使用する必要があります。Visual Studio (少なくとも 2008 年) で、任意のファイルにエラーがあり、外部参照を使用する XML ファイルを開いている場合、それについてもエラーが報告されることに気付きました。
于 2010-10-07T16:09:21.893 に答える