VS2017添加EF的MVC控制器报错的解决方法,供大家参考,具体内容如下
1. 错误描述:no database provider has been configured fot this DbContext.
此类错误是上下文的注册造成的.解决方式在DBContext中重写OnConfiguring方法去注入数据库连接.
DbContext中:
1
2
3
4
5
6
|
public static string ConnectionString { get ; set ; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSqlServer(ConnectionString); base .OnConfiguring(optionsBuilder); } |
在Startup.cs中
1
2
3
4
5
6
7
8
9
|
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>中的类改成<命名空间+类名>这种完整声明即可解决
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。