Я использую EF Core 2 и пытаюсь динамически добавить объект в модель.
Сценарий:
Пользователь создает объект с настраиваемыми свойствами в веб-приложении
Я создаю во время выполнения класс, который отображает эту сущность (см. Как создать Type в .NET Core )
Я добавляю созданный класс в модель в методе OnModelCreating
контекста БД (см. https://romiller.com/2012/03/26/dynamically-building-a-model-with-code-first/)
Все работает, кроме случаев, когда я хочу записать в БД новый экземпляр вновь созданного класса в том же запросе (вызов API), где я создал новую сущность.
Это потому, что DbContext
ограничен запросом (не кратковременным), поэтому DbContext
вызвал метод OnModelCreating
, прежде чем я смог создать новую сущность.
Это ошибка, которую я получаю:
The entity type 'People' was not found.
Ensure that the entity type has been added to the model.
Есть предложения о том, как этого добиться? Я не думаю, что можно вызвать OnModelCreating
по требованию, и я не могу найти способ доступа к ModelBuilder
контекста, чтобы вызвать его Entity
метод.