VS2017添加EF的MVC控制器报错的解决方法

Y2J
Y2J 原创
2017-04-20 10:00:22 1904浏览

这篇文章主要为大家详细介绍了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控制器报错的解决方法的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。