اگر چند دیتابیس داشتین با یک ساختار و خواستین با یک DbContext به همه دیتابیس ها وصل بشین لازمه در زمان RunTime کانکشن استرینگ رو تغییر بدین ، کدهای لازم رو در این پست stackoverflow بنده مشاهده کنید:
https://stackoverflow.com/a/70951198/9875486
Console.WriteLine("Hello, World!"); for (int i = 1; i <= 10; i++) { if (i % 2 == 0) { var _context = new AppDbContext("Data Source=.\\SQLEXPRESS;Initial Catalog=test2;Integrated Security=True"); // test2 _context.Tbls.Add(new Tbl { Title = i.ToString() }); _context.SaveChanges(); } else { var _context = new AppDbContext("Data Source=.\\SQLEXPRESS;Initial Catalog=test1;Integrated Security=True"); // test1 _context.Tbls.Add(new Tbl { Title = i.ToString() }); _context.SaveChanges(); } }
public partial class AppDbContext : DbContext { public AppDbContext(string connectionString) : base(GetOptions(connectionString)) { } public virtual DbSet<Tbl> Tbls { get; set; } private static DbContextOptions GetOptions(string connectionString) { return SqlServerDbContextOptionsExtensions.UseSqlServer(new DbContextOptionsBuilder(), connectionString).Options; } }