2

すべてが同じ列 (ID、コード、説明など) を共有するルックアップ テーブルがたくさんありますが、同僚から、一般的な lookup.hbm.xml マッピング ファイルを作成して、それをベースとして使用できるかどうか尋ねられました。他のすべてのルックアップ テーブル。nhibernate のサポートにはファイルが含まれていますか、または XML の共通のチャンクを参照する他の方法はありますか? Fluent がマッピング クラスで継承をサポートしていることは理解していますが、残念ながらマッピング テクノロジを切り替えることはできません。

4

1 に答える 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 に答える