Всем привет.
Ситуация вот какая. Есть классы: class A, class B : A и class C.
В классе А определен дескриминатор:
[MapField(IsInheritanceDiscriminator = true)]
public int ElemType { get; set; }
В классе B определен Relation:
[Relation(typeof(C), SlaveIndex1 = "ID", MasterIndex1 = "ID")]
public List<C> lst= new List<C>();
В классе С тоже определен Relation:
[Relation(typeof(B), SlaveIndex1 = "ID", MasterIndex1 = "ID")]
public B elem = new B();
Теперь когда мы в приложении делаем так:
var _dbAccessor = DataAccessor.CreateInstance<dbAccessor>();
var set = new MapResultSet[2];
set[0] = new MapResultSet(typeof(A));
set[1] = new MapResultSet(typeof(C));
IDataReader reader = _dbAccessor.GetElemByID(_dbAccessor.GetDbManager(), id);// ридер возвращает 2 датасета, один из объектов класса B, другой — класса С.
var schema = new MappingSchema();
schema.MapDataReaderToResultSet(reader, set);
Мы рассчитываем на то, что инструмент определит, что у него должно быть два набора элементов, в set[0] — объекты класса B, в set[1] — класса С, и правильно настроит связи между ними. Но этого не происходит. Т.е связи не устанавливаются.
Вопрос, как сделать так, чтобы они устанавливались?