Где-то между ревизией 952 и текущей сломалась возможность пользовать тайпаксессор интерфейсов для вытаскивания полей объектов, унаследованных от этих интерфейсов
При том валится каким-то жутким исключением, то "System.EntryPointNotFoundException : Точка входа не найдена" то "ExecutionEngineException"
тест:
[MapField("MasterId", "Master.MasterId")]
public interface IMaster2
{
[Relation]
Master2 Master
{
get;
set;
}
}
[TableName("Master")]
public abstract class Master2
{
[PrimaryKey]
public abstract int MasterId {get; set;}
[Relation(Destination=typeof(Detail2))]
public abstract List<Detail2> Details {get; set;}
public abstract string Name {get; set;}
}
[TableName("Detail")]
public abstract class Detail2 : IMaster2
{
[PrimaryKey, MapField("Id")]
public abstract int DetailId {get; set;}
public abstract Master2 Master
{
get;
set;
}
}
[Test]
public void InterfaceTest()
{
var ta = TypeAccessor<IMaster2>.Instance;
var ta2 = TypeAccessor<Detail2>.Instance;
var d2 = TypeAccessor<Detail2>.CreateInstance();
var m = ta2["Master"].GetValue(d2); // OK
Assert.IsNotNull(m);
m = ta["Master"].GetValue(d2); // Exception
Assert.IsNotNull(m);
}