Може ли рамката на обекта да пренебрегне факта, че внедрявам интерфейси в обект? Ситуацията е, че имам клас Tag, който имплементира интерфейс IModelObject, който определя, че всеки клас, който го имплементира, трябва да има свойството Id. Класът е по-долу:
public class Tag : IModelObject, IEquatable<Tag>
{
[ScaffoldColumn(false)]
public virtual int Id
{
get;
set;
}
[Required]
public virtual string Name
{
get;
set;
}...
}
И всеки обект в моя модел на домейн имплементира IModelObject. Няма базов клас, а само интерфейс. Картографирането по подразбиране работи, но в базата данни се добавя колона Discriminator. И този дискриминатор не е част от моя модел на домейн, така че не ми трябва в моята база данни.
Внедряването на интерфейс не е наследство, аз също внедрявам интерфейс IEquatable. Така че защо Entity Framework действа така, сякаш това е наследяване и добавя колона Discriminator и как мога да избегна това, като не използвам базови или абстрактни класове?