添加keylong的其他时区的支持发布x.4.1.7

This commit is contained in:
xuejiaming 2022-02-18 22:56:55 +08:00
parent 13e3469a4f
commit 8ad08bc33f
4 changed files with 22 additions and 11 deletions

View File

@ -125,7 +125,7 @@ dbcontext `AbstractShardingDbContext`和`IShardingTableDbContext`如果你是普
### 第四步添加分表路由
```csharp
路由构造函数支持依赖注入,依赖注入的对象生命周期必须是单例
public class OrderVirtualTableRoute:AbstractSimpleShardingMonthKeyDateTimeVirtualTableRoute<Order>
{
/// <summary>

View File

@ -128,9 +128,15 @@ sharding table(spilt table eg. order_202101,order_202102,order_202103......),u n
### Step 4:Create route that data(Order) query mapping table name
```csharp
Route constructor support dependency injection,that's life time scope is `Singleton`
public class OrderVirtualTableRoute:AbstractSimpleShardingMonthKeyDateTimeVirtualTableRoute<Order>
{
//private readonly IServiceProvider _serviceProvider;
//public OrderVirtualTableRoute(IServiceProvider serviceProvider)
//{
//_serviceProvider = serviceProvider;
//}
/// <summary>
/// fixed value don't use DateTime.Now because if if application restart this value where change
/// </summary>
@ -187,6 +193,7 @@ u need modify `AddDefaultDataSource` method second param(connection string),don'
}).AddConfig(op =>
{
op.ConfigId = "c1";
//use your data base connection string
op.AddDefaultDataSource(Guid.NewGuid().ToString("n"),
"Data Source=localhost;Initial Catalog=EFCoreShardingTableDB;Integrated Security=True;");
}).EnsureConfig();
@ -203,7 +210,7 @@ u need modify `AddDefaultDataSource` method second param(connection string),don'
// other configure....
}
```
then efcore support shardinglike sharding-jdbc in java,u can happy coding for efcore
then efcore support sharding tablelike sharding-jdbc in java,u can happy coding for efcore
```csharp
[Route("api/[controller]")]
@ -219,6 +226,11 @@ public class ValuesController : Controller
[HttpGet]
public async Task<IActionResult> Get()
{
//_myDbContext.Add(order);
//_myDbContext.Udpate(order);
//_myDbContext.Remove(order);
//_myDbContext.SaveChanges();
var order = await _myDbContext.Set<Order>().FirstOrDefaultAsync(o => o.Id == "2");
return OK(order)
}

View File

@ -1,9 +1,9 @@
:start
::定义版本
set EFCORE2=2.4.1.06
set EFCORE3=3.4.1.06
set EFCORE5=5.4.1.06
set EFCORE6=6.4.1.06
set EFCORE2=2.4.1.07
set EFCORE3=3.4.1.07
set EFCORE5=5.4.1.07
set EFCORE6=6.4.1.07
::删除所有bin与obj下的文件
@echo off

View File

@ -34,14 +34,13 @@ namespace ShardingCore.Helpers
return h;
}
private static readonly DateTime UtcStartTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
public static DateTime ConvertLongToDateTime(long timeStamp)
{
return UtcStartTime.AddMilliseconds(timeStamp).AddHours(8);
return DateTimeOffset.FromUnixTimeMilliseconds(timeStamp).LocalDateTime; ;
}
public static long ConvertDateTimeToLong(DateTime time)
public static long ConvertDateTimeToLong(DateTime localDateTime)
{
return (long)(time.AddHours(-8) - UtcStartTime).TotalMilliseconds;
return new DateTimeOffset(localDateTime).ToUnixTimeMilliseconds(); ;
}
/// <summary>