1

次のようなテーブルを含むデータベースがあります。

プロパティ ID、エンティティ ID、値

PropertyId と EntityId は結合された主キーです。すべてのエンティティは、すべての行にエンティティの単一のプロパティが含まれるいくつかの行にまたがっています。私はこのデータベースを制御できないので、それを操作する必要があります。

NHibernate を使用して、エンティティをこのテーブルから単一のオブジェクトにマップすることは可能ですか? このテーブルから読み取るだけで済みます。これにより、作業が少し簡単になる可能性があります。それとも、DataReaders を使用して自分でマッピングを行うほうがよいでしょうか?

4

2 に答える 2

2

まだ完了していませんが、カスタム SQL クエリを使用してエンティティ (個別のエンティティ ID とエンティティ レベルの属性) を定義できます。こちらを参照してください。

プロパティ/値をエンティティ オブジェクトの属性にマップする必要があることはわかりますが。これは、手動でデータを入力するための追加のクエリを意味する場合があります。これは、データ リーダー ルートが最適であることを意味する場合があります。

それらがエンティティのコレクションであることに満足している場合は、問題ありません。

于 2008-10-16T09:46:26.113 に答える
1

正確な構文は思い出せませんが、次のmapようにします。

<map name='Values' table='EntityPropertyValue'>
  <key column='EntityId'  />
  <index-many-to-many class='Person' column='PersonId' />
  <element column='Value' type='object' />
</map>
于 2008-10-17T16:20:14.960 に答える