zoukankan      html  css  js  c++  java
  • 关于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>中的类改成<命名空间+类名>这种完整声明即可解决

  • 相关阅读:
    [汇编与C语言关系]1.函数调用
    深入理解计算机系统
    设计模式
    深度探索C++对象模型
    More Effective C++
    MySQL必知必会
    数据结构与算法分析
    Java编程思想(后)
    Java编程思想(前十章)
    Java 入门
  • 原文地址:https://www.cnblogs.com/tweet/p/6727465.html
Copyright © 2011-2022 走看看