• .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

  • 相关阅读:
    汇编笔记(1) 寄存器
    阿里云RDS数据库备份文件恢复到本地数据库
    Java调用HTTPS接口的证书配置
    SQL面试题之行转列
    WebsiteCrawler
    supervisor
    简单学习github代码托管
    [egret+pomelo]实时对战游戏杂记(5)
    [egret+pomelo]实时游戏杂记(4)
    [egret+pomelo]实时游戏杂记(3)
  • 原文地址:https://www.cnblogs.com/liyouming/p/9203218.html
Copyright © 2020-2023  润新知