У меня есть базовый объект, который я не хочу отображать в БД как сущность, я только хочу, чтобы свойства были добавлены к объекту, который отображается в БД:
Не сопоставленный объект (незнать, если это важно, но базовый объект находится в другой сборке):
public class BaseObject
{
public virtual string Prop1 { get; set; }
public virtual string Prop2 { get; set; }
}
Сопоставленный объект:
public class ChildObject : BaseObject
{
public virtual string Prop3 { get; set; }
public virtual string Prop4 { get; set; }
public virtual string Prop5 { get; set; }
}
Что зарегистрировано в DbContext
public DbSet<ChildObject> ChildObjects { get; set; }
What i 'Я хотел бы видеть в Db
table:ChildObject
col:Prop1 (from BaseObject)
col:Prop2 (from BaseObject)
col:Prop3
col:Prop4
col:Prop5
Чтобы продолжить, я хочу иметь одну таблицу в Db, которая имеет дочерние и базовые свойства.
Этоошибка, которую я сейчас получаю:
Тип 'namespace.ChildObject' не был отображен.Убедитесь, что тип не был явно исключен с помощью метода Ignore или аннотации данных NotMappedAttribute.Убедитесь, что тип был определен как класс, не является примитивным, вложенным или универсальным и не наследуется от EntityObject.
Я копался, но не могу найти, как это сделать.
Есть идеи?
РЕДАКТИРОВАТЬ:
@ Кайл Трауберман прав, однако, по некоторым причинам, похоже, есть проблема с наследованием отбазовый класс в разных сборках.Я просто сделал это.
class BaseObjectClone : BaseObject { } /* BaseObject being in another assembly */
public class ChildObject : BaseObjectClone {
public virtual string Prop3 { get; set; }
public virtual string Prop4 { get; set; }
public virtual string Prop5 { get; set; }
}