自动识别数据分区字段、主时间字段、雪花Id、更新时间字段、创建时间字段
This commit is contained in:
parent
2a1d99d167
commit
4b32b4c1b9
|
@ -32,7 +32,7 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="NewLife.Stardust" Version="3.0.2024.724-beta0746" />
|
||||
<PackageReference Include="NewLife.Stardust" Version="3.0.2024.728-beta1357" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
<None Remove="Build.tt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="NewLife.XCode" Version="11.14.2024.723-beta0709" />
|
||||
<PackageReference Include="NewLife.XCode" Version="11.14.2024.728-beta1354" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Update="Build.log">
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="NewLife.XCode" Version="11.14.2024.723-beta0709" />
|
||||
<PackageReference Include="NewLife.XCode" Version="11.14.2024.728-beta1354" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\AntJob\AntJob.csproj" />
|
||||
|
|
|
@ -18,7 +18,20 @@ namespace AntJob.Extensions;
|
|||
public abstract class DataHandler<TEntity> : DataHandler where TEntity : Entity<TEntity>, new()
|
||||
{
|
||||
/// <summary>实例化数据处理作业</summary>
|
||||
public DataHandler() => Factory = Entity<TEntity>.Meta.Factory;
|
||||
public DataHandler()
|
||||
{
|
||||
Factory = Entity<TEntity>.Meta.Factory;
|
||||
|
||||
// 自动识别数据分区字段、主时间字段、雪花Id、更新时间字段、创建时间字段
|
||||
var fact = Factory;
|
||||
var field = fact.Fields.FirstOrDefault(e => e.Field != null && e.Field.DataScale.StartsWithIgnoreCase("time", "timeShard"));
|
||||
field ??= fact.Fields.FirstOrDefault(e => e.PrimaryKey && !e.IsIdentity && e.Type == typeof(Int64));
|
||||
field ??= fact.MasterTime;
|
||||
field ??= fact.Fields.FirstOrDefault(e => e.Name.EqualIgnoreCase("UpdateTime"));
|
||||
field ??= fact.Fields.FirstOrDefault(e => e.Name.EqualIgnoreCase("CreateTime"));
|
||||
|
||||
Field = field;
|
||||
}
|
||||
|
||||
#region 数据处理
|
||||
/// <summary>分批抽取数据,一个任务内多次调用</summary>
|
||||
|
|
|
@ -47,8 +47,8 @@
|
|||
<Content Include="favicon.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="NewLife.Cube.Core" Version="6.1.2024.723-beta2117" />
|
||||
<PackageReference Include="NewLife.Stardust.Extensions" Version="3.0.2024.724-beta0746" />
|
||||
<PackageReference Include="NewLife.Cube.Core" Version="6.1.2024.728-beta1411" />
|
||||
<PackageReference Include="NewLife.Stardust.Extensions" Version="3.0.2024.728-beta1357" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\AntJob.Data\AntJob.Data.csproj" />
|
||||
|
|
|
@ -50,8 +50,8 @@
|
|||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="NewLife.Core" Version="10.10.2024.723-beta1414" />
|
||||
<PackageReference Include="NewLife.Remoting" Version="3.0.2024.719-beta0806" />
|
||||
<PackageReference Include="NewLife.Stardust" Version="3.0.2024.724-beta0746" />
|
||||
<PackageReference Include="NewLife.Remoting" Version="3.0.2024.729-beta0815" />
|
||||
<PackageReference Include="NewLife.Stardust" Version="3.0.2024.728-beta1357" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="NewLife.XCode" Version="11.14.2024.723-beta0709" />
|
||||
<PackageReference Include="NewLife.XCode" Version="11.14.2024.728-beta1354" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="NewLife.Cube.Core" Version="6.1.2024.723-beta2117" />
|
||||
<PackageReference Include="NewLife.Cube.Core" Version="6.1.2024.728-beta1411" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
Loading…
Reference in New Issue