Inheritance EF Code-First

У меня есть базовый объект, который я не хочу отображать в БД как объект, я только хочу, чтобы свойства были добавлены к объект, который отображается в БД:

Несопоставленный объект (не знаю, имеет ли это значение, но базовый объект находится в другой сборке):

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; }
}
9
задан Pierluc SS 5 April 2012 в 12:39
поделиться