VS2017添加EF的MVC控制器报错怎么办

这篇文章给大家分享的是有关VS2017添加EF的MVC控制器报错怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

具体内容如下

1. 错误描述:no database provider has been configured fot this DbContext.

此类错误是上下文的注册造成的.解决方式在DBContext中重写OnConfiguring方法去注入数据库连接.

DbContext中:

public static string ConnectionString { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
 optionsBuilder.UseSqlServer(ConnectionString);
 base.OnConfiguring(optionsBuilder);
}

在Startup.cs中

 public void ConfigureServices(IServiceCollection services)
 {
  // Add framework services.
  var sqlserverConnection = Configuration.GetConnectionString("SQLServerConnection");
  DbContext.ConnectionString = sqlserverConnection;//将配置连接传入DbContext中
  services.AddDbContext<DbContext>(options => options.UseSqlServer(sqlserverConnection));
        
  services.AddMvc();
}

2.错误描述:Could not add Model type XXX to DbContext

错误描述没有注册DbSet属性.但实际上是有 public DbSet<XXX> XXX{ get; set; }注册的.将DbSet<XXX>中的类改成<命名空间+类名>这种完整声明即可解决

感谢各位的阅读!关于“VS2017添加EF的MVC控制器报错怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!