public ShardingDbContext CreateAloneShardingDbContext(string tail) { var dbContextOptions = (DbContextOptions)_serviceProvider.GetService(typeof(DbContextOptions)); var op = new ShardingDbContextOptions(dbContextOptions, tail, _virtualTableManager.GetAllVirtualTables()); return(new ShardingDbContext(op)); }
public ShardingDbContext CreateSingleShardingDbContext(string tail, Type entityType) { var virtualTable = _virtualTableManager.GetVirtualTable(entityType); var dbContextOptions = (DbContextOptions)_serviceProvider.GetService(typeof(DbContextOptions)); var op = new ShardingDbContextOptions(dbContextOptions, tail, new List <IVirtualTable>() { virtualTable }); return(new ShardingDbContext(op)); }
public ShardingDbContext CreateShareShardingDbContext(DbContextOptions dbContextOptions, string tail) { var op = new ShardingDbContextOptions(dbContextOptions, tail, _virtualTableManager.GetAllVirtualTables()); return(new ShardingDbContext(op)); }
public ShardingDbContext(ShardingDbContextOptions shardingDbContextOptions) : base(shardingDbContextOptions.DbContextOptions) { Tail = shardingDbContextOptions.Tail; VirtualTables = shardingDbContextOptions.VirtualTables; }