Core 项目连接多个数据库

1、首先是先给你的每个库都建造那么一个数据库连接文件,有几个库写几个

public class firstContext : DbContext
    {
        public firstContext(DbContextOptions<firstContext> options) : base(options)
        {
        }

        //自定义DbContext实体属性名与数据库表对应名称(默认 表名与属性名对应是 User与Users)
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            #regionvar company = modelBuilder.Entity<Company>();
            company.HasKey(t => t.CompanyId);
            var partner = modelBuilder.Entity<Partner>();
            partner.HasKey(t => t.PartnerId);#endregion

            //相关表名称的和类的对应
            base.OnModelCreating(modelBuilder);
        }


        #regionpublic 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里面写的,如下图

但是暂时还没搞清楚,为什么外面的链接字符串没能拿到里面去用,所以就先只有暂时这样用着了

下次有时间搞清楚了再回来补上

原文地址:https://www.cnblogs.com/xiaoxiaomini/p/13637417.html