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

  • 相关阅读:
    十万个为什么 —— 理化篇
    地行、地貌
    工业镜头基础知识整理
    parfor —— matlab 下的并行循环
    浅谈设计模式在GIS中的应用
    android ellipsize 属性详解
    Servlet 学习总结-1
    搜索引擎有用的外链建设的方式
    Servlet 学习总结-2
    如何用批处理命令批量配对重命名
  • 原文地址:https://www.cnblogs.com/liyouming/p/9203218.html
Copyright © 2011-2022 走看看