Я пытаюсь обернуть голову вокруг беглого nHibernate, пытаясь сделать такой вид картирования:
public class ClassA : Entity
{
public virtual string SomeField { get; set; }
}
public class ClassB : Entity
{
public virtual string ClassAIds { get; set; }
public virtual IList<ClassA> ClassAList { get; set; }
}
Где Entity в основном гарантирует, что оба класса имеют поле Id в качестве основного ключа базы данных.
База данных будет выглядеть так:
table ClassA:
int Id,
varchar(25) SomeField
table ClassB:
int Id,
varchar(50) ClassAIds
Я пытаюсь написать некоторую карту, чтобы объект ClassB заполнялся сущностями ClassA в ClassAList. Возможно ли иметь что-то похожее на:
public void Override(AutoMapping<ClassB> mapping)
{
mapping.HasMany(x => x.ClassAIds.Split(new char[] { ',' }).Select(i => int.Parse(i)).ToList()).KeyColumn("Id");
}
Я не очень понимаю, как передать тип целевого класса и возможно ли вообще этого добиться.