Добавление модели вручную в контекст Entity Framework InMemoryTest ASP.NET Core 2 - PullRequest
0 голосов
/ 14 сентября 2018

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

var options = new DbContextOptionsBuilder<DbContext>()
                .UseInMemoryDatabase(databaseName: "test")
                .Options;
var context = new DbContext(options);
var sut = new Repository<TestEntity>(context);
sut.Add(new TestEntity());

Я получаю исключение, говорит:

Тип объекта «TestEntity» не найден. Убедитесь, что субъект тип был добавлен в модель.

Я попытался добавить модель вручную в опции:

var builder = new ModelBuilder(new ConventionSet());
builder.Entity<TestEntity>();
var options = new DbContextOptionsBuilder<DbContext>()
                .UseModel(builder.Model)
                .UseInMemoryDatabase(databaseName: "test")
                .Options;

но теперь он выдает при вызове метода Add:

Произошла одна или несколько ошибок. (Ссылка на объект не установлена ​​на экземпляр объекта.)

Кто-нибудь знает, как вручную добавить модель в EF? Я не нашел что-то подобное в Интернете. Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...