.NetCore 下使用多個DbContext
阿新 • • 發佈:2018-06-20
tin set int 業務 nbsp etc .get pset CA
一個項目中使用多個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
.NetCore 下使用多個DbContext