NoDatabaseProviderConfiguredEF7在使用EntityFramework7和MVC6时,我似乎得到这个错误信息System.InvalidOperationExceptionNodatabaseproviderconfigured。通过在设置服务时覆盖DbContext类或AddDbContext方法中的OnConfiguring来配置数据库提供程序。我相信我已经做了我应该做的一切,所以这可能是一个错误。我正在使用EntityFramework的7.0.0-beta7版。我已经设置了我的DbContext,一个接口,所以我可以模拟DbContext(在EntityFramework6中进行单元测试需要)。我的服务有接口作为构造函数,我在MVC6中有DI设置。在我的Startup.cs文件中,我有以下publicvoidConfigureServices(IServiceCollectionservices){//entityframeworkservices.AddEntityFramework().AddSqlServer().AddDbContext(options=>options.UseSqlServer(Configuration["Data:MyConnection:ConnectionString"]));//将MVC服务添加到服务容器。服务.AddMvc();//每个请求的新上下文services.AddScoped();我已经检查了我的connectionString,它返回了一个有效的连接。我还检查了我的服务,对象正在被注入并且它不为空,所以它应该一切正常。我的config.json文件看起来像这样我的DbContext没有覆盖OnConfiguring方法,因为我不认为它是必需的,因为我像上面那样做?我对吗?我错过了什么?看了很多不同的网站,我猜有些人正在使用旧代码,因为有些方法不存在,而另一些则与我所拥有的相同。设置如下所示的MyDbContext以注入在Startup.csAddDbContext()调用中定义的选项参数。publicMyDbContext(DbContextOptionsoptions):base(options){}这将允许您将连接字符串从Configuration(config.json)传递到方法调用options.UseSqlServer()services.AddEntityFramework().AddSqlServer().AddDbContext(options=>options.UseSqlServer(Configuration["Data:MyConnection:ConnectionString"]));当我不得不将我的解决方案拆分为单独的项目Web、BL和DAL时,我遇到了同样的问题。我相信您在尝试从数据库访问某些数据的那一行遇到了这个错误。您可以通过配置上下文来解决此问题。只需覆盖OnConfiguring方法。publicclassMyDbContext:DbContext{publicDbSetEmployees{get;放;}protectedoverridevoidOnConfiguring(DbContextOptionsBuilderoptions){options.UseSqlServer("");}protectedoverridevoidOnModelCreating(ModelBuildermodelBuilder){weeks...}}我之前在VisualStudio2015中遇到过这个问题。我必须将Context添加到startup.cs中的依赖项注入集合。有关详细信息,请参见此处-http://nodogmablog.bryanhogan.net/2016/01/how-to-fix-no-database-providers-are-configured-when-scaffolding-a-controller-in-asp-net-5/请尝试以下方法:以上是C#学习教程:没有数据库提供者配置EF7共享的所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——publicclassDataContext:DbContextwhereTEntity:class{privateTEntity_entity=null;publicDataContext():base(){}publicDataContext(TEntityentity){this._entity=entity;}公共DbSet实体{得到;放;}protectedoverridevoidOnModelCreating(ModelBuildermodelBuilder){base.OnModelCreating(modelBuilder);modelBuilder.HasDefaultSchema("dbo");}公共IConfigurationRoot配置{得到;放;}protectedoverridevoidOnConfiguring(DbContextOptionsBuilderoptionsBuilder){var(configuration).AddJsonFile("appsettings.json");配置=配置.Build();optionsBuilder.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]);}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处:
