修改分表的代码
This commit is contained in:
parent
f77f8d2abe
commit
f3cb2b7626
|
@ -71,12 +71,12 @@ namespace Sample.SqlServerShardingTable
|
||||||
// }
|
// }
|
||||||
// };
|
// };
|
||||||
// },ReadStrategyEnum.Loop,defaultEnable:true).End();
|
// },ReadStrategyEnum.Loop,defaultEnable:true).End();
|
||||||
services.AddShardingDbContext<MyDbContext>().AddEntityConfig(op =>
|
services.AddShardingDbContext<MyDbContext>().UseRouteConfig(op =>
|
||||||
{
|
{
|
||||||
op.AddShardingTableRoute<SysUserVirtualTableRoute>();
|
op.AddShardingTableRoute<SysUserVirtualTableRoute>();
|
||||||
op.AddShardingTableRoute<OrderVirtualTableRoute>();
|
op.AddShardingTableRoute<OrderVirtualTableRoute>();
|
||||||
op.AddShardingTableRoute<MultiShardingOrderVirtualTableRoute>();
|
op.AddShardingTableRoute<MultiShardingOrderVirtualTableRoute>();
|
||||||
}).AddConfig(op =>
|
}).UseConfig(op =>
|
||||||
{
|
{
|
||||||
//当无法获取路由时会返回默认值而不是报错
|
//当无法获取路由时会返回默认值而不是报错
|
||||||
op.ThrowIfQueryRouteNotMatch = false;
|
op.ThrowIfQueryRouteNotMatch = false;
|
||||||
|
@ -94,15 +94,15 @@ namespace Sample.SqlServerShardingTable
|
||||||
{
|
{
|
||||||
return new Dictionary<string, IEnumerable<string>>()
|
return new Dictionary<string, IEnumerable<string>>()
|
||||||
{
|
{
|
||||||
//{
|
{
|
||||||
// "ds0", new List<string>()
|
"ds0", new List<string>()
|
||||||
// {
|
{
|
||||||
// "Data Source=localhost;Initial Catalog=EFCoreShardingTableDB;Integrated Security=True;"
|
"Data Source=localhost;Initial Catalog=EFCoreShardingTableDB;Integrated Security=True;"
|
||||||
// }
|
}
|
||||||
//}
|
}
|
||||||
};
|
};
|
||||||
}, ReadStrategyEnum.Loop, defaultEnable: true);
|
}, ReadStrategyEnum.Loop, defaultEnable: true);
|
||||||
}).ReplaceService<ITableEnsureManager,SqlServerTableEnsureManager>().EnsureConfig();
|
}).AddShardingCore();
|
||||||
}
|
}
|
||||||
|
|
||||||
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
||||||
|
@ -113,7 +113,16 @@ namespace Sample.SqlServerShardingTable
|
||||||
app.UseDeveloperExceptionPage();
|
app.UseDeveloperExceptionPage();
|
||||||
}
|
}
|
||||||
|
|
||||||
app.UseShardingCore();
|
using (var scope = app.ApplicationServices.CreateScope())
|
||||||
|
{
|
||||||
|
var myDbContext = scope.ServiceProvider.GetService<MyDbContext>();
|
||||||
|
//如果没有迁移那么就直接创建表和库
|
||||||
|
myDbContext.Database.EnsureCreated();
|
||||||
|
//如果有迁移使用下面的
|
||||||
|
// myDbContext.Database.Migrate();
|
||||||
|
}
|
||||||
|
app.ApplicationServices.UseAutoTryCompensateTable();
|
||||||
|
// app.UseShardingCore();
|
||||||
app.UseRouting();
|
app.UseRouting();
|
||||||
|
|
||||||
app.UseAuthorization();
|
app.UseAuthorization();
|
||||||
|
|
|
@ -12,10 +12,10 @@ namespace Sample.SqlServerShardingTable
|
||||||
{
|
{
|
||||||
public static class StartupExtension
|
public static class StartupExtension
|
||||||
{
|
{
|
||||||
public static void UseShardingCore(this IApplicationBuilder app)
|
// public static void UseShardingCore(this IApplicationBuilder app)
|
||||||
{
|
// {
|
||||||
app.ApplicationServices.UseAutoTryCompensateTable();
|
// app.ApplicationServices.UseAutoTryCompensateTable();
|
||||||
}
|
// }
|
||||||
public static void InitSeed(this IApplicationBuilder app)
|
public static void InitSeed(this IApplicationBuilder app)
|
||||||
{
|
{
|
||||||
using (var serviceScope = app.ApplicationServices.CreateScope())
|
using (var serviceScope = app.ApplicationServices.CreateScope())
|
||||||
|
|
Loading…
Reference in New Issue