Может ли структура сущности игнорировать тот факт, что я реализую интерфейсы в сущности? Ситуация такова, что у меня есть класс 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 действует так, как будто это наследование, и добавляет столбец «Дискриминатор» и как я могу избежать этого, не используя базовые или абстрактные классы?