NHibernate 3.2 By Code(Conformist)ClassMapping For Dictionary Property

假设我有一个“SomeClass”类,它有一个查找字典:DataDictionary;

我目前在SomeClass.hbm.xml中有一个映射,如下所示:

          

我想使用NHibernate的新版本(版本3.2)按代码映射。 我如何映射上面的字典属性?

目前我有:

  public class SomeClassMap :ClassMap { 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"); }); } } 

大多数情况下,我不知道如何指定索引的等价物和字典映射的元素。

字典映射的每个部分都需要一个单独的委托:

 Map(x => x.DictionaryProperty, mapping => { mapping.Key(k => k.Column("SomeClassID")); mapping.Table("SomeClassData"); }, mapping => mapping.Element(k => k.Column("Key")), mapping => mapping.Element(k => k.Column("Value"))); 

第一个Elementmap-keyindex对于map是过时的),第二个是element