我建立了一个通用存储库,该存储库将用作在构造函数中接收上下文的NuGet包。 我想测试存储库InMemory。问题是该上下文存在于另一个解决方案上,当我尝试构建假选项时,该上下文中的模型将为null,因为我仅使用默认上下文。
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吗?我在互联网上找不到类似的内容。 谢谢