Свободно владеет Nhibernate HasMany по словарю с дискриминацией - PullRequest
0 голосов
/ 28 октября 2019

Я хочу применить динамические поля, используя словарь, но поскольку он собирается в отдельную таблицу, я хочу использовать одну таблицу для всех.
Чтобы использовать одну и ту же таблицу, мне нужно как-то определить значение дискриминациив словаре.

public class OrderLineEntity
{
    public virtual long Id { get; set; }
    public virtual IDictionary<string, string> Extension { get; set; } = new Dictionary<string, string>();
}


public class OrderLineEntityMap : ClassMap<OrderLineEntity>
{
    public OrderLineEntityMap()
    {
        Id(x => x.Id).GeneratedBy.Identity().Column("id");
        HasMany(x => x.Extension)
            .Table("entity_extension")
            .KeyColumns("entity_extension_id")
            .AsMap<string>(index => 
                index.Column("column_key"), 
                val => val.Column("column_val"))
            .Not.LazyLoad().Fetch.Join()
            ;
    }
}

Можно ли повторно использовать таблицу entity_extension для других лиц?

Спасибо

...