У меня есть базовый объект, который я не хочу отображать в БД как объект, я только хочу, чтобы свойства были добавлены к объект, который отображается в БД:
Несопоставленный объект (не знаю, имеет ли это значение, но базовый объект находится в другой сборке):
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; }
Что я бы хотел хотел бы видеть в Db
table:ChildObject
col:Prop1 (from BaseObject)
col:Prop2 (from BaseObject)
col:Prop3
col:Prop4
col:Prop5
Чтобы возобновить, что я хочу сделать, это иметь одну таблицу в Db, которая имеет дочерние и базовые свойства.
Это ошибка, которую я сейчас получаю:
Тип 'namespace.ChildObject' не сопоставлен.Убедитесь, что тип не был явно исключен с помощью метода Ignore или Аннотация данных NotMappedAttribute. Убедитесь, что тип был определен как класс, не является примитивным, вложенным или общим и не наследует из EntityObject.
Я копался, но не нашел, как это сделать.
Есть идеи?
РЕДАКТИРОВАТЬ:
@Kyle Trauberman прав, однако по какой-то причине возникает проблема с наследованием от базового класса в другой сборке. Я просто сделал это.
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; }
}