ルックアップ辞書を持つクラス「SomeClass」があるとします。
現在、 SomeClass.hbm.xml に次のようなマッピングがあります。
<class name="SomeClass>
<id name="ID" type="System.Guid">
<generator class="guid" />
</id>
<map name="DictionaryProperty" table="SomeClass_Data">
<key column="SomeClassID" />
<index column="Key" type="System.String" />
<element column="Value" type="System.String" />
</map>
</class>
NHibernate の新しい (バージョン 3.2) By Code マッピングを使用したいと考えています。上記の辞書プロパティをどのようにマップしますか?
現在私は持っています:
public class SomeClassMap :ClassMap<SomeClass>
{
public SomeClassMap()
{
Id(x => x.ID, mapping => mapping.Generator(Generators.Guid));
Map(x = x.DictionaryProperty, mapping =>
{
mapping.Key(k => k.Column("SomeClassID"));
mapping.Table("SomeClassData");
});
}
}
ほとんどの場合、辞書マッピングのインデックスと要素に相当するものを指定する方法に途方に暮れています。