У меня следующая ситуация:Свободный автопилота Nhibernate. Ассоциация относится к неподключенному базовому классу
AssemblyX с БД лиц ссылается внешним assemblyY и использовать свои классы в качестве базовых классов.AssemblyX добавляет некоторые свойства навигации, если необходимо.
Конечно, я могу скопировать все это и использовать automapper для решения моей проблемы, но у меня есть причина наследовать существующие сущности.
Итак, у меня есть Foo {}
класс в assemblyY и создать Bar: Foo {}
в assemblyX. Настройте свободное автопилотирование, чтобы игнорировать Foo (.IgnoreBase<Foo>())
. Все работает хорошо. Но assemblyY имеет другое юридическое лицо Rab
(которое покрывается плавным автозатемнением), которое имеет свойство навигации, которое относится к Foo
. Это вызывает исключение: «Ассоциация из таблицы Rab ссылается на неотображенный класс: Foo».
public class Foo // .IgnoreBase<Foo>() - I require only derived Bar in DB
{
public virtual Guid Id {get; set;}
}
public class Bar: Foo
{
public virtual Guid Id {get; set;}
// Some new properties
}
public class Rab
{
public virtual Guid Id {get; set;}
public virtual Foo Foo // reference to unmapped class, I could not change type to Bar (external assembly)
}
Как это можно решить. Я попытался наследовать Rab и создать свойство new Foo
с типом Bar, но безуспешно.
Заранее благодарим за любые советы.