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

  • 相关阅读:
    TensorFlow 基础 (04)
    面向对象编程思想的介绍
    B2B、B2C、C2C、O2O的概念
    为什么我们需要域
    如何在阿里云服务器上搭建wordpress个人网站
    Ghost手动备份、还原系统详细图文教程
    IE浏览器下载文件保存时提示:“你没有权限在此位置中保存文件”解决办法
    电脑经常自动重启的一些解决办法
    ERP系统到底能做什么?
    SQL实用技巧:如何分割字符串
  • 原文地址:https://www.cnblogs.com/liyouming/p/9203218.html
Copyright © 2011-2022 走看看