public class PersistedData
{
public virtual IDictionary<key, value> Dictionary { get; set; }
}
public class PersistedDataMap : ClassMap<PersistedData>
{
HasMany(x => x.Dictionary)
.Table("dict_table")
.KeyColumn("column_id")
.AsMap<string>("key")
.Element("value");
}
Это правильно сопоставит Dictionary
с таблицей dict_table
и использует column_id
, чтобы связать его с базовым идентификатором.
В качестве примечания: если вы хотите использовать Enum в качестве ключа в словаре, следует отметить, что вместо строки в * 1008 можно использовать NHibernate.Type.EnumStringType<MyEnum>
, чтобы использовать строковое значение вместо Порядковый номер.