diff --git a/nuget-publish.bat b/nuget-publish.bat index e6d698b6..c68c8bb6 100644 --- a/nuget-publish.bat +++ b/nuget-publish.bat @@ -1,9 +1,9 @@ :start ::定义版本 -set EFCORE2=2.3.1.41 -set EFCORE3=3.3.1.41 -set EFCORE5=5.3.1.41 -set EFCORE6=6.3.1.41 +set EFCORE2=2.3.1.42 +set EFCORE3=3.3.1.42 +set EFCORE5=5.3.1.42 +set EFCORE6=6.3.1.42 ::删除所有bin与obj下的文件 @echo off diff --git a/src/ShardingCore/Extensions/DbContextExtension.cs b/src/ShardingCore/Extensions/DbContextExtension.cs index aec323d4..10cfd0ce 100644 --- a/src/ShardingCore/Extensions/DbContextExtension.cs +++ b/src/ShardingCore/Extensions/DbContextExtension.cs @@ -130,7 +130,7 @@ namespace ShardingCore.Extensions var modelSourceDependencies = dependenciesModelSource.GetPropertyValue("Dependencies") as ModelSourceDependencies; IMemoryCache memoryCache = modelSourceDependencies.MemoryCache; - object key1 = modelSourceDependencies.ModelCacheKeyFactory.Create(dbContext); + object key1 = modelSourceDependencies.ModelCacheKeyFactory.Create(dbContext,true); memoryCache.Remove(key1); #endif #if EFCORE5 diff --git a/src/ShardingCore/ShardingDbConfigOptions.cs b/src/ShardingCore/ShardingDbConfigOptions.cs deleted file mode 100644 index 6ee432de..00000000 --- a/src/ShardingCore/ShardingDbConfigOptions.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using ShardingCore.Core.VirtualRoutes.TableRoutes; - -namespace ShardingCore -{ - /* - * @Author: xjm - * @Description: - * @Date: 2021/3/3 16:15:11 - * @Ver: 1.0 - * @Email: 326308290@qq.com - */ - public class ShardingDbConfigOptions - { - - - private readonly Dictionary _virtualRoutes = new Dictionary(); - public void AddShardingTableRoute() where TRoute : IVirtualTableRoute - { - var routeType = typeof(TRoute); - //获取类型 - var genericVirtualRoute = routeType.GetInterfaces().FirstOrDefault(it => it.IsInterface && it.IsGenericType && it.GetGenericTypeDefinition() == typeof(IVirtualTableRoute<>) - && it.GetGenericArguments().Any()); - if (genericVirtualRoute == null) - throw new ArgumentException("add sharding route type error not assignable from IVirtualTableRoute<>."); - - var shardingEntityType = genericVirtualRoute.GetGenericArguments()[0]; - if (shardingEntityType == null) - throw new ArgumentException("add sharding table route type error not assignable from IVirtualTableRoute<>"); - if (!_virtualRoutes.ContainsKey(shardingEntityType)) - { - _virtualRoutes.Add(shardingEntityType, routeType); - } - } - - public Type GetVirtualRoute(Type entityType) - { - if (!_virtualRoutes.ContainsKey(entityType)) - throw new ArgumentException("not found IVirtualTableRoute"); - return _virtualRoutes[entityType]; - } - } -} diff --git a/test/ShardingCore.Test6x/Domain/Entities/Order.cs b/test/ShardingCore.Test6x/Domain/Entities/Order.cs index 9c22588c..5d78f065 100644 --- a/test/ShardingCore.Test6x/Domain/Entities/Order.cs +++ b/test/ShardingCore.Test6x/Domain/Entities/Order.cs @@ -3,14 +3,17 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using ShardingCore.Core; namespace ShardingCore.Test6x.Domain.Entities { - public class Order + public class Order:IShardingDataSource,IShardingTable { public Guid Id { get; set; } + [ShardingDataSourceKey] public string Area { get; set; } public long Money { get; set; } + [ShardingTableKey] public DateTime CreateTime { get; set; } } } diff --git a/test/ShardingCore.Test6x/ShardingTest.cs b/test/ShardingCore.Test6x/ShardingTest.cs index a921609b..faa052e8 100644 --- a/test/ShardingCore.Test6x/ShardingTest.cs +++ b/test/ShardingCore.Test6x/ShardingTest.cs @@ -486,14 +486,14 @@ namespace ShardingCore.Test6x public async Task OrderCountTest() { var asyncCount = await _virtualDbContext.Set().CountAsync(); - Assert.Equal(360, asyncCount); + Assert.Equal(320, asyncCount); var syncCount = _virtualDbContext.Set().Count(); - Assert.Equal(360, syncCount); + Assert.Equal(320, syncCount); var countA =await _virtualDbContext.Set().CountAsync(o=>o.Area=="A"); var countB =await _virtualDbContext.Set().CountAsync(o=>o.Area=="B"); var countC =await _virtualDbContext.Set().CountAsync(o=>o.Area=="C"); - Assert.Equal(360, countA+ countB+ countC); + Assert.Equal(320, countA+ countB+ countC); var fourBegin = new DateTime(2021, 4, 1).Date; var fiveBegin = new DateTime(2021, 5, 1).Date; var fourCount = await _virtualDbContext.Set().Where(o=>o.CreateTime>=fourBegin&&o.CreateTime().OrderBy(o => o.CreateTime).ToListAsync(); - Assert.Equal(360,orders.Count); + Assert.Equal(320,orders.Count); var i = 0; foreach (var order in orders) { @@ -523,9 +523,9 @@ namespace ShardingCore.Test6x var threeMonth = new DateTime(2021, 3, 1); var orderPage = await _virtualDbContext.Set().Where(o=>o.CreateTime > threeMonth).OrderByDescending(o => o.CreateTime).ToShardingPageAsync(1,20); Assert.Equal(20, orderPage.Data.Count); - Assert.Equal(300,orderPage.Total); + Assert.Equal(260,orderPage.Total); - var j = 359; + var j = 319; foreach (var order in orderPage.Data) { Assert.Equal(j, order.Money); diff --git a/test/ShardingCore.Test6x/Shardings/OrderAreaShardingVirtualDataSourceRoute.cs b/test/ShardingCore.Test6x/Shardings/OrderAreaShardingVirtualDataSourceRoute.cs index 42bc4023..d9dc9b61 100644 --- a/test/ShardingCore.Test6x/Shardings/OrderAreaShardingVirtualDataSourceRoute.cs +++ b/test/ShardingCore.Test6x/Shardings/OrderAreaShardingVirtualDataSourceRoute.cs @@ -53,10 +53,5 @@ namespace ShardingCore.Test6x.Shardings } } } - - public override void Configure(EntityMetadataDataSourceBuilder builder) - { - builder.ShardingProperty(o => o.Area); - } } } diff --git a/test/ShardingCore.Test6x/Startup.cs b/test/ShardingCore.Test6x/Startup.cs index 51717302..0c6d7092 100644 --- a/test/ShardingCore.Test6x/Startup.cs +++ b/test/ShardingCore.Test6x/Startup.cs @@ -144,7 +144,7 @@ namespace ShardingCore.Test6x var areas = new List(){"A","B","C"}; List orders = new List(360); var begin = new DateTime(2021, 1, 1); - for (int i = 0; i < 360; i++) + for (int i = 0; i < 320; i++) { orders.Add(new Order() {