我试图使用包管理器控制台将迁移添加到我的EF7项目中, 但是我发现包管理器控制台需要你有3个令人不安的东西:
OnConfiguring
方法....(我为什么要这样做?)OnConfiguring
方法配置数据库连接!这三件事我很高兴实现依赖注入,并且可以使用内存数据库(单元测试)。
(我上面提到的那三点来自于我尝试Add-Migration
时遇到的包管理器控制台异常
抱歉没有dnxing。
有什么想法吗?
答案 0 :(得分:1)
还有两个未提及的选项。
使用名为Startup的类将您的上下文添加到IoC容器中。
class Startup
{
void ConfigureServices(IServiceContainer services)
=> services
.AddEntityFramework()
.AddSqlServer()
.AddDbContext<MyDbContext>(
options => options.UseSqlServer(myConnectionString));
}
告诉EF如何使用IDbContextFactory在设计时构建您的上下文。
class MyDbContextFactory : IDbContextFactory<MyDbContext>
{
public MyDbContext Create()
{
// TODO: Construct your context
return new MyDbContext();
}
}