У меня есть это простое отображение словаря, которое прекрасно работает:
public class OrderLineEntity
{
public virtual long Id { get; set; }
public virtual IDictionary<string, string> Extension { get; set; }
}
public class OrderLineEntityMap : ClassMap<OrderLineEntity>
{
public OrderLineEntityMap()
{
Id(x => x.Id).GeneratedBy.Identity().Column("id");
HasMany(x => x.Extension)
.Table("row_extension")
.KeyColumns.Add("row_extension_id")
.AsMap<string>(index =>
index.Column("column_key"),
val => val.Column("column_val"))
.Not.LazyLoad().Fetch.Join();
}
}
Но я хотел бы повторно использовать таблицу row_extension
со значением различения, чтобы больше сущностей имели Dictionary
с даннымивнутри row_extension
таблицы.
Мне нужен динамический внешний ключ внутри row_extension
его родителя. очень похоже на дискриминацию.
Возможно?
Спасибо