Я создал общий репозиторий, который будет использоваться в качестве пакета 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? Я не нашел что-то подобное в Интернете.
Спасибо