• .NetCore 下使用多个DbContext


    一个项目中使用多个DbContext 或者种数据库的多个DbContext 业务需要

    单个DbContext使用不需要给出说明

    1、dotnet ef migrations add migrationname

    2、dotnet ef database update

    多个DbContext请使用如下命令指定dbcontext名称或者指定生成到目录

    1、 添加为dbcontextname 添加 migrations 到 pathdir目录下面,这里需要注意的是应用程序集目录问题 _migrationAssablyName,会决定生成migraions文件夹位置

     dotnet ef migrations add migrationname -c dbcontextname -o pathdir

    services.AddDbContext<UserDbContext>(
                      optionsBuilder =>
                      {
                          var _userappsetting = Configuration.GetSection("UserAppSetting").Get<UserAppSetting>();
                          if (_userappsetting == null)
                          {
                              throw new Exception("数据库连接字符串未配置");
                          }
                          switch (_userappsetting.DbType)
                          {
                              case 1:
                                  optionsBuilder.UseSqlServer(_userappsetting.UserConnectionString, sqlserver =>
                                  {
                                      sqlserver.MigrationsAssembly(_migrationAssablyName);
                                    
                                      sqlserver.UseRowNumberForPaging();
    
                                  });
                                  break;
                         
                              default:
                                  optionsBuilder.UseMySQL(_userappsetting.UserConnectionString, mysql =>
                                  {
                                      mysql.MigrationsAssembly(_migrationAssablyName);
                                  
                                  });
                                  break;
    
                          }
                      });
     "UserAppSetting": {
        //server=192.168.0.42;port=3306;user=root;password=lym123!@#; database=Edu_User;SslMode=none;
        "UserConnectionString": "Data Source=192.168.0.42;Initial Catalog=Edu_User;User ID=sa;password=lym123!@#;Integrated Security=false;",
        //
        "ReadConnectionString": "Data Source=192.168.0.42;Initial Catalog=Edu_User;User ID=sa;password=lym123!@#;Integrated Security=false;",
        "DbType": 1 //数据库类型
      }

    2、更新 填写需要更新的DbContext对象即可

    dotnet ef database update -c dbcontextname

  • 相关阅读:
    TortoiseSVN和VisualSVN-下载地址
    asp.net mvc输出自定义404等错误页面,非302跳转
    IIS7如何显示详细错误信息
    关于IIS7.5下的web.config 404 配置的一些问题
    MVC 错误处理1
    后台获取视图对应的字符串
    HTML5 ArrayBuffer:类型化数组 (二)
    Web 前沿——HTML5 Form Data 对象的使用(转)
    HTML5 File 对象
    HTML5 本地裁剪图片并上传至服务器(转)
  • 原文地址:https://www.cnblogs.com/liyouming/p/9203218.html
Copyright © 2020-2023  润新知