CoreDbContext.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using ERP.Core.Entity;
  2. using Microsoft.EntityFrameworkCore;
  3. using Microsoft.Extensions.Configuration;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace ERP.Core.Context
  10. {
  11. public class CoreDbContext : DbContext
  12. {
  13. private readonly IConfiguration _configuration;
  14. public CoreDbContext(IConfiguration configuration)
  15. {
  16. this._configuration = configuration;
  17. }
  18. protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
  19. {
  20. // 可扩展为多租户,从当前请求头拿租户Id,根据租户Id获取对应数据库配置名,替换
  21. string connect = _configuration.GetConnectionString(GetType().Name)!;
  22. optionsBuilder.UseMySql(connect,new MySqlServerVersion(new Version(8,0,26)));
  23. base.OnConfiguring(optionsBuilder);
  24. }
  25. /// <summary>
  26. /// 配置模型关系
  27. /// </summary>
  28. /// <param name="modelBuilder"></param>
  29. protected override void OnModelCreating(ModelBuilder modelBuilder)
  30. {
  31. }
  32. public virtual DbSet<SysUser> SysUsers { get; set; }
  33. }
  34. }