Browse Source

添加Freesql组件集成

pull/43/head 5.2.1.0
王军 4 years ago
parent
commit
84d1f63c5b
  1. 1
      aspnet-core/Directory.Build.props
  2. 7
      aspnet-core/Lion.AbpPro.sln
  3. 3
      aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/AbpProHttpApiHostModule.cs
  4. 4
      aspnet-core/services/src/Lion.AbpPro.Application/AbpProApplicationModule.cs
  5. 1
      aspnet-core/services/src/Lion.AbpPro.Application/Lion.AbpPro.Application.csproj
  6. 5
      aspnet-core/services/src/Lion.AbpPro.Application/Settings/SettingAppService.cs
  7. 19
      aspnet-core/services/src/Lion.AbpPro.FreeSqlReppsitory/AbpProFreeSqlModule.cs
  8. 17
      aspnet-core/services/src/Lion.AbpPro.FreeSqlReppsitory/FreeSqlBasicRepository.cs
  9. 17
      aspnet-core/services/src/Lion.AbpPro.FreeSqlReppsitory/Lion.AbpPro.FreeSqlReppsitory.csproj
  10. 8
      aspnet-core/services/test/Lion.AbpPro.TestBase/Lion.AbpPro.TestBase.csproj
  11. 5
      aspnet-core/services/test/Lion.AbpPro.TestBase/appsettings.json

1
aspnet-core/Directory.Build.props

@ -30,6 +30,7 @@
<OcelotVersion>17.0.0</OcelotVersion>
<MagicodesIEExcelVersion>2.6.1</MagicodesIEExcelVersion>
<ZackEFCoreBatchVersion>6.0.11</ZackEFCoreBatchVersion>
<FreesqlVersion>3.0.100</FreesqlVersion>
</PropertyGroup>
</Project>

7
aspnet-core/Lion.AbpPro.sln

@ -168,6 +168,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.FileManagement.
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.FileManagement.HttpApi.Host", "modules\FileManagement\host\Lion.AbpPro.FileManagement.HttpApi.Host\Lion.AbpPro.FileManagement.HttpApi.Host.csproj", "{831CD22A-AC6E-4515-AB24-8C96B34C717F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.FreeSqlReppsitory", "services\src\Lion.AbpPro.FreeSqlReppsitory\Lion.AbpPro.FreeSqlReppsitory.csproj", "{27C7A0E6-4C2E-4AFF-9DE7-1F526DDC0D18}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -398,6 +400,10 @@ Global
{831CD22A-AC6E-4515-AB24-8C96B34C717F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{831CD22A-AC6E-4515-AB24-8C96B34C717F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{831CD22A-AC6E-4515-AB24-8C96B34C717F}.Release|Any CPU.Build.0 = Release|Any CPU
{27C7A0E6-4C2E-4AFF-9DE7-1F526DDC0D18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{27C7A0E6-4C2E-4AFF-9DE7-1F526DDC0D18}.Debug|Any CPU.Build.0 = Debug|Any CPU
{27C7A0E6-4C2E-4AFF-9DE7-1F526DDC0D18}.Release|Any CPU.ActiveCfg = Release|Any CPU
{27C7A0E6-4C2E-4AFF-9DE7-1F526DDC0D18}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -477,6 +483,7 @@ Global
{9201AEE4-2E6D-4A48-805F-3F3C6878BC0B} = {40BF21CB-4520-45A6-A588-5FFB95BAC87C}
{78589964-923E-4803-9B74-183487C3ED0F} = {40BF21CB-4520-45A6-A588-5FFB95BAC87C}
{831CD22A-AC6E-4515-AB24-8C96B34C717F} = {C188A1F4-9601-42E5-9A0A-B282E13EAC41}
{27C7A0E6-4C2E-4AFF-9DE7-1F526DDC0D18} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {28315BFD-90E7-4E14-A2EA-F3D23AF4126F}

3
aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/AbpProHttpApiHostModule.cs

@ -167,7 +167,8 @@ namespace Lion.AbpPro
//QueuePollInterval = TimeSpan.Zero,
//UseRecommendedIsolationLevel = true,
//DisableGlobalLocks = true
JobExpirationCheckInterval = TimeSpan.FromMinutes(30)
JobExpirationCheckInterval = TimeSpan.FromMinutes(30),
TablesPrefix = "Hangfire_"
}));
var delaysInSeconds = new int[] { 10, 60, 60 * 3 }; // 重试时间间隔
var Attempts = 3; // 重试次数

4
aspnet-core/services/src/Lion.AbpPro.Application/AbpProApplicationModule.cs

@ -1,5 +1,6 @@
using Lion.AbpPro.DataDictionaryManagement;
using Lion.AbpPro.FileManagement;
using Lion.AbpPro.FreeSqlReppsitory;
using Lion.AbpPro.NotificationManagement;
using Volo.Abp.Account;
using Volo.Abp.AuditLogging;
@ -25,7 +26,8 @@ namespace Lion.AbpPro
typeof(AbpAuditLoggingDomainModule),
typeof(DataDictionaryManagementApplicationModule),
typeof(NotificationManagementApplicationModule),
typeof(FileManagementApplicationModule)
typeof(FileManagementApplicationModule),
typeof(AbpProFreeSqlModule)
)]
public class AbpProApplicationModule : AbpModule
{

1
aspnet-core/services/src/Lion.AbpPro.Application/Lion.AbpPro.Application.csproj

@ -12,6 +12,7 @@
<ProjectReference Include="..\..\..\modules\NotificationManagement\src\Lion.AbpPro.NotificationManagement.Application\Lion.AbpPro.NotificationManagement.Application.csproj" />
<ProjectReference Include="..\Lion.AbpPro.Domain\Lion.AbpPro.Domain.csproj" />
<ProjectReference Include="..\Lion.AbpPro.Application.Contracts\Lion.AbpPro.Application.Contracts.csproj" />
<ProjectReference Include="..\Lion.AbpPro.FreeSqlReppsitory\Lion.AbpPro.FreeSqlReppsitory.csproj" />
</ItemGroup>
<ItemGroup>

5
aspnet-core/services/src/Lion.AbpPro.Application/Settings/SettingAppService.cs

@ -17,18 +17,15 @@ namespace Lion.AbpPro.Settings
{
private readonly ISettingDefinitionManager _settingDefinitionManager;
private readonly ISettingManager _settingManager;
private readonly IStringLocalizer<AbpProResource> _localizer;
private readonly IStringLocalizerFactory _factory;
public SettingAppService(
ISettingDefinitionManager settingDefinitionManager,
ISettingManager settingManager,
IStringLocalizer<AbpProResource> localizer,
IStringLocalizerFactory factory)
{
_settingDefinitionManager = settingDefinitionManager;
_settingManager = settingManager;
_localizer = localizer;
_factory = factory;
}
@ -43,7 +40,7 @@ namespace Lion.AbpPro.Settings
new SettingOutput
{
Group = s.Key,
GroupDisplayName = _localizer[s.Key]
GroupDisplayName = _factory.CreateDefaultOrNull()[s.Key]
}).ToList();
foreach (var item in settingOutput)

19
aspnet-core/services/src/Lion.AbpPro.FreeSqlReppsitory/AbpProFreeSqlModule.cs

@ -0,0 +1,19 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Modularity;
namespace Lion.AbpPro.FreeSqlReppsitory;
public class AbpProFreeSqlModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
var connectionString = configuration.GetConnectionString("Default");
var freeSql = new FreeSql.FreeSqlBuilder()
.UseConnectionString(FreeSql.DataType.MySql, connectionString)
.Build();
context.Services.AddSingleton<IFreeSql>(freeSql);
}
}

17
aspnet-core/services/src/Lion.AbpPro.FreeSqlReppsitory/FreeSqlBasicRepository.cs

@ -0,0 +1,17 @@
using Volo.Abp.Domain.Services;
using Volo.Abp.Threading;
namespace Lion.AbpPro.FreeSqlReppsitory;
public abstract class FreeSqlBasicRepository : DomainService
{
protected IFreeSql FreeSql => LazyServiceProvider.LazyGetRequiredService<IFreeSql>();
private ICancellationTokenProvider CancellationTokenProvider =>
LazyServiceProvider.LazyGetService<ICancellationTokenProvider>(NullCancellationTokenProvider.Instance);
protected virtual CancellationToken GetCancellationToken(CancellationToken preferredValue = default)
{
return CancellationTokenProvider.FallbackToProvider(preferredValue);
}
}

17
aspnet-core/services/src/Lion.AbpPro.FreeSqlReppsitory/Lion.AbpPro.FreeSqlReppsitory.csproj

@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="FreeSql" Version="$(FreesqlVersion)" />
<PackageReference Include="FreeSql.Provider.MySql" Version="$(FreesqlVersion)" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Lion.AbpPro.Domain\Lion.AbpPro.Domain.csproj" />
</ItemGroup>
</Project>

8
aspnet-core/services/test/Lion.AbpPro.TestBase/Lion.AbpPro.TestBase.csproj

@ -24,4 +24,12 @@
<PackageReference Include="xunit.runner.visualstudio" Version="$(XunitrunnervisualstudioVersion)" />
</ItemGroup>
<ItemGroup>
<Content Include="appsettings.json">
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</Content>
</ItemGroup>
</Project>

5
aspnet-core/services/test/Lion.AbpPro.TestBase/appsettings.json

@ -0,0 +1,5 @@
{
"ConnectionStrings": {
"Default": "Data Source=localhost;Database=LionAbpProDB;uid=root;pwd=1q2w3E*;charset=utf8mb4;Allow User Variables=true;AllowLoadLocalInfile=true"
}
}
Loading…
Cancel
Save