upload efcore 5.0.7
This commit is contained in:
parent
352e2a07fa
commit
b4ee59181d
|
@ -8,9 +8,9 @@
|
||||||
|
|
||||||
Release | EF Core | .NET Standard | .NET (Core) | Sql Server | [Pomelo.EntityFrameworkCore.MySql](https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql)
|
Release | EF Core | .NET Standard | .NET (Core) | Sql Server | [Pomelo.EntityFrameworkCore.MySql](https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql)
|
||||||
--- | --- | --- | --- | --- | ---
|
--- | --- | --- | --- | --- | ---
|
||||||
[5.1.x.x](https://www.nuget.org/packages/ShardingCore/5.1.0.9) | >= 5.0.x | 2.1 | 3.0+ | >= 2012 | 5.0.0-alpha.2
|
[5.1.x.x](https://www.nuget.org/packages/ShardingCore/5.1.0.20) | >= 5.0.x | 2.1 | 3.0+ | >= 2012 | 5.0.0-alpha.2
|
||||||
[3.1.x.x](https://www.nuget.org/packages/ShardingCore/3.1.0.9) | 3.1.10 | 2.0 | 2.0+ | >= 2012 | 3.2.4
|
[3.1.x.x](https://www.nuget.org/packages/ShardingCore/3.1.0.20) | 3.1.10 | 2.0 | 2.0+ | >= 2012 | 3.2.4
|
||||||
[2.1.x.x](https://www.nuget.org/packages/ShardingCore/2.1.0.9) | 2.2.6 | 2.0 | 2.0+ | >= 2008 | 2.2.6
|
[2.1.x.x](https://www.nuget.org/packages/ShardingCore/2.1.0.20) | 2.2.6 | 2.0 | 2.0+ | >= 2008 | 2.2.6
|
||||||
|
|
||||||
|
|
||||||
- [开始](#开始)
|
- [开始](#开始)
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
:start
|
:start
|
||||||
::定义版本
|
::定义版本
|
||||||
set EFCORE2=2.1.0.11
|
set EFCORE2=2.1.0.20
|
||||||
set EFCORE3=3.1.0.11
|
set EFCORE3=3.1.0.20
|
||||||
set EFCORE5=5.1.0.11
|
set EFCORE5=5.1.0.20
|
||||||
|
|
||||||
::删除所有bin与obj下的文件
|
::删除所有bin与obj下的文件
|
||||||
@echo off
|
@echo off
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace Sample.SqlServer.Domain.Entities
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 用户Id用于分表
|
/// 用户Id用于分表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ShardingTableKey]
|
[ShardingTableKey(TailPrefix = "")]
|
||||||
public string Id { get; set; }
|
public string Id { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 用户名称
|
/// 用户名称
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Sample.SqlServer.Domain.Entities;
|
||||||
|
using ShardingCore.Core;
|
||||||
|
using ShardingCore.Core.VirtualRoutes;
|
||||||
|
using ShardingCore.Core.VirtualRoutes.TableRoutes;
|
||||||
|
|
||||||
|
namespace Sample.SqlServer.Shardings
|
||||||
|
{
|
||||||
|
public class TestVRoute : AbstractShardingOperatorVirtualTableRoute<SysUserMod, string>
|
||||||
|
{
|
||||||
|
protected override string ConvertToShardingKey(object shardingKey)
|
||||||
|
{
|
||||||
|
return shardingKey.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string ShardingKeyToTail(object shardingKey)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
//数据库已经存在的tail
|
||||||
|
public override List<string> GetAllTails()
|
||||||
|
{
|
||||||
|
return new List<string>() {"", "1"};
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override Expression<Func<string, bool>> GetRouteToFilter(string shardingKey, ShardingOperatorEnum shardingOperator)
|
||||||
|
{
|
||||||
|
var t = ShardingKeyToTail(shardingKey);
|
||||||
|
switch (shardingOperator)
|
||||||
|
{
|
||||||
|
case ShardingOperatorEnum.Equal: return tail => tail == t;
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
#if DEBUG
|
||||||
|
Console.WriteLine($"shardingOperator is not equal scan all table tail");
|
||||||
|
#endif
|
||||||
|
return tail => true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -12,7 +12,7 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="5.0.0-alpha.2" />
|
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="5.0.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netstandard2.1</TargetFramework>
|
<TargetFramework>netstandard2.1</TargetFramework>
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.2" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.7" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Data.Common;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
using Microsoft.EntityFrameworkCore.Query.Internal;
|
using Microsoft.EntityFrameworkCore.Query.Internal;
|
||||||
|
@ -31,6 +32,7 @@ namespace ShardingCore.SqlServer
|
||||||
private readonly Dictionary<string, ShareDbContextWrapItem> _contextWrapItems =
|
private readonly Dictionary<string, ShareDbContextWrapItem> _contextWrapItems =
|
||||||
new Dictionary<string, ShareDbContextWrapItem>();
|
new Dictionary<string, ShareDbContextWrapItem>();
|
||||||
|
|
||||||
|
|
||||||
public SqlServerDbContextOptionsProvider(ILoggerFactory loggerFactory,IShardingCoreOptions shardingCoreOptions)
|
public SqlServerDbContextOptionsProvider(ILoggerFactory loggerFactory,IShardingCoreOptions shardingCoreOptions)
|
||||||
{
|
{
|
||||||
_loggerFactory = loggerFactory;
|
_loggerFactory = loggerFactory;
|
||||||
|
@ -40,8 +42,7 @@ namespace ShardingCore.SqlServer
|
||||||
{
|
{
|
||||||
if (!_contextWrapItems.ContainsKey(connectKey))
|
if (!_contextWrapItems.ContainsKey(connectKey))
|
||||||
{
|
{
|
||||||
var connectionString = _shardingCoreOptions.GetShardingConfig(connectKey).ConnectionString;
|
var connection = GetSqlConnection(connectKey);
|
||||||
var connection = new SqlConnection(connectionString);
|
|
||||||
var dbContextOptions = CreateDbContextOptionBuilder(connectKey)
|
var dbContextOptions = CreateDbContextOptionBuilder(connectKey)
|
||||||
.UseSqlServer(connection)
|
.UseSqlServer(connection)
|
||||||
.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking)
|
.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking)
|
||||||
|
@ -55,6 +56,13 @@ namespace ShardingCore.SqlServer
|
||||||
}
|
}
|
||||||
return _contextWrapItems[connectKey].ContextOptions;
|
return _contextWrapItems[connectKey].ContextOptions;
|
||||||
}
|
}
|
||||||
|
private SqlConnection GetSqlConnection(string connectKey)
|
||||||
|
{
|
||||||
|
var connectionString = _shardingCoreOptions.GetShardingConfig(connectKey).ConnectionString;
|
||||||
|
return new SqlConnection(connectionString);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private DbContextOptionsBuilder CreateDbContextOptionBuilder(string connectKey)
|
private DbContextOptionsBuilder CreateDbContextOptionBuilder(string connectKey)
|
||||||
{
|
{
|
||||||
var shardingConfigEntry = _shardingCoreOptions.GetShardingConfig(connectKey);
|
var shardingConfigEntry = _shardingCoreOptions.GetShardingConfig(connectKey);
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
using System;
|
using System;
|
||||||
|
using System.Data.Common;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace ShardingCore.DbContexts.VirtualDbContexts
|
namespace ShardingCore.DbContexts.VirtualDbContexts
|
||||||
|
@ -17,5 +18,6 @@ namespace ShardingCore.DbContexts.VirtualDbContexts
|
||||||
/// <param name="connectKey"></param>
|
/// <param name="connectKey"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
DbContextOptions GetDbContextOptions(string connectKey);
|
DbContextOptions GetDbContextOptions(string connectKey);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -10,6 +10,10 @@ namespace ShardingCore
|
||||||
*/
|
*/
|
||||||
public class ShardingContainer
|
public class ShardingContainer
|
||||||
{
|
{
|
||||||
|
private ShardingContainer()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
public static IServiceProvider Services { get; private set; }
|
public static IServiceProvider Services { get; private set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 静态注入
|
/// 静态注入
|
||||||
|
|
|
@ -14,8 +14,8 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.2" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.7" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="5.0.2" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="5.0.7" />
|
||||||
<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="5.0.0" />
|
<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="5.0.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue