zoukankan      html  css  js  c++  java
  • .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

  • 相关阅读:
    Python有用的内置函数divmod,id,sorted,enumerate,input,oct,eval,exec,isinstance,ord,chr,filter,vars,zip
    audio的自动播放报错解决
    高德搜索定位,获取信息
    柱状图的点击事件
    高德局部刷新标记点,bug解决
    递归
    CentOS7搭建LNMP环境
    CentOS7安装RabbitMQ
    前端项目代码加密教程
    复杂度分析
  • 原文地址:https://www.cnblogs.com/liyouming/p/9203218.html
Copyright © 2011-2022 走看看