1、首先是先给你的每个库都建造那么一个数据库连接文件,有几个库写几个
public class firstContext : DbContext { public firstContext(DbContextOptions<firstContext> options) : base(options) { } //自定义DbContext实体属性名与数据库表对应名称(默认 表名与属性名对应是 User与Users) protected override void OnModelCreating(ModelBuilder modelBuilder) { #region 表 var company = modelBuilder.Entity<Company>(); company.HasKey(t => t.CompanyId); var partner = modelBuilder.Entity<Partner>(); partner.HasKey(t => t.PartnerId);#endregion //相关表名称的和类的对应 base.OnModelCreating(modelBuilder); } #region 表 public DbSet<Company> Company { get; set; } public DbSet<Partner> Partner { get; set; }#endregion protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { base.OnConfiguring(optionsBuilder); optionsBuilder.UseSqlServer("Server=.;Data Source=服务器地址;Database=数据库名称;User ID=用户名;Password=密码;"); } }
2、在startup文件中注册数据库
//注册数据库的服务 string connectionString = Configuration.GetConnectionString("firstContext"); string connectionString2 = Configuration.GetConnectionString("secondContext"); services.AddDbContext<firstContext>(options => options.UseSqlServer(connectionString)); services.AddDbContext<secondContext>(options => options.UseSqlServer(connectionString2));
上图中的 Configuration.GetConnectionString("firstContext") 其实是在appsetting里面写的,如下图
但是暂时还没搞清楚,为什么外面的链接字符串没能拿到里面去用,所以就先只有暂时这样用着了
下次有时间搞清楚了再回来补上