EF Inherited класс без конструктора без параметров - PullRequest
0 голосов
/ 10 июля 2020

У меня проблемы с извлечением данных из базы данных sql с помощью EF (4.7).

Моя модель выглядит примерно так:

public class User : MyEntity<User> {
     public User(string userId) : base(userId) {//Some other props}
}

public abstract class MyEntity<T> where T : class
{
    protected MyEntity(string userId)
    {
        UserId = userId;
        base.Update(userId);
    }
}

Итак, ошибка довольно Очевидно, что мне нужен конструктор без параметров для User. Однако, поскольку это система, основанная на пользователях, у меня большинство моделей наследуются от базового класса. Таким образом, это будет означать, что всем моим классам нужен конструктор по умолчанию, чтобы позволить EF связываться с моделью. Не совсем идеально, поскольку он смягчает способ построения модели предметной области.

Я попытался добавить защищенный конструктор в MyEntity, чтобы решить эту проблему, но EF, похоже, не подхватил это. Приветствуются любые указатели.

1 Ответ

0 голосов
/ 10 июля 2020

Поддержка типов сущностей с конструкторами была представлена ​​в EF Core. EF Core 3 поддерживается на. NET Framework 4.7.2 .

...