使用sqlsugar内置工作单元
This commit is contained in:
@@ -560,7 +560,7 @@
|
||||
测试控制器
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.TestController.#ctor(Microsoft.AspNetCore.SignalR.IHubContext{Yi.Framework.WebCore.SignalRHub.MainHub},Microsoft.Extensions.Logging.ILogger{Yi.Framework.ApiMicroservice.Controllers.TestController},Yi.Framework.Interface.RABC.IRoleService,Yi.Framework.Interface.RABC.IUserService,Microsoft.Extensions.Localization.IStringLocalizer{Yi.Framework.Language.LocalLanguage},Yi.Framework.Core.Quartz.QuartzInvoker,Yi.Framework.Core.ThumbnailSharpInvoer,Yi.Framework.Core.Cache.CacheInvoker)">
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.TestController.#ctor(Microsoft.AspNetCore.SignalR.IHubContext{Yi.Framework.WebCore.SignalRHub.MainHub},Microsoft.Extensions.Logging.ILogger{Yi.Framework.ApiMicroservice.Controllers.TestController},Yi.Framework.Interface.RABC.IRoleService,Yi.Framework.Interface.RABC.IUserService,Microsoft.Extensions.Localization.IStringLocalizer{Yi.Framework.Language.LocalLanguage},Yi.Framework.Core.Quartz.QuartzInvoker,Yi.Framework.Core.ThumbnailSharpInvoer,Yi.Framework.Core.Cache.CacheInvoker,SqlSugar.ISugarUnitOfWork{Yi.Framework.Repository.UnitOfWork})">
|
||||
<summary>
|
||||
依赖注入,优雅写法
|
||||
</summary>
|
||||
@@ -572,6 +572,7 @@
|
||||
<param name="quartzInvoker"></param>
|
||||
<param name="thumbnailSharpInvoer"></param>
|
||||
<param name="cacheInvoker"></param>
|
||||
<param name="unitOfWork"></param>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.TestController.Swagger">
|
||||
<summary>
|
||||
@@ -585,6 +586,12 @@
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.TestController.UnitOfWorkTest">
|
||||
<summary>
|
||||
工作单元测试,使用sqlsugar内置
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.TestController.SqlTest">
|
||||
<summary>
|
||||
执行Sql返回
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.SignalR;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Localization;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using SqlSugar;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -19,7 +21,6 @@ using Yi.Framework.Job;
|
||||
using Yi.Framework.Language;
|
||||
using Yi.Framework.Model.RABC.Entitys;
|
||||
using Yi.Framework.Repository;
|
||||
using Yi.Framework.Uow.Interceptors;
|
||||
using Yi.Framework.WebCore;
|
||||
using Yi.Framework.WebCore.AttributeExtend;
|
||||
using Yi.Framework.WebCore.AuthorizationPolicy;
|
||||
@@ -43,6 +44,7 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
||||
private ThumbnailSharpInvoer _thumbnailSharpInvoer;
|
||||
private CacheInvoker _cacheDb;
|
||||
private ILogger<TestController> _logger;
|
||||
ISugarUnitOfWork<UnitOfWork> _unitOfWork;
|
||||
[Autowired]
|
||||
public CacheInvoker CacheInvoker { get; set; }
|
||||
//你可以依赖注入服务层各各接口,也可以注入其他仓储层,怎么爽怎么来!
|
||||
@@ -57,6 +59,7 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
||||
/// <param name="quartzInvoker"></param>
|
||||
/// <param name="thumbnailSharpInvoer"></param>
|
||||
/// <param name="cacheInvoker"></param>
|
||||
/// <param name="unitOfWork"></param>
|
||||
public TestController(IHubContext<MainHub> hub,
|
||||
ILogger<TestController> logger,
|
||||
IRoleService iRoleService,
|
||||
@@ -64,11 +67,13 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
||||
IStringLocalizer<LocalLanguage> local,
|
||||
QuartzInvoker quartzInvoker,
|
||||
ThumbnailSharpInvoer thumbnailSharpInvoer,
|
||||
CacheInvoker cacheInvoker) =>
|
||||
CacheInvoker cacheInvoker,
|
||||
ISugarUnitOfWork<UnitOfWork> unitOfWork
|
||||
) =>
|
||||
|
||||
(_logger, _iUserService, _iRoleService, _quartzInvoker, _hub, _local, _thumbnailSharpInvoer, _cacheDb) =
|
||||
(_logger, _iUserService, _iRoleService, _quartzInvoker, _hub, _local, _thumbnailSharpInvoer, _cacheDb, _unitOfWork) =
|
||||
|
||||
(logger, iUserService, iRoleService, quartzInvoker, hub, local, thumbnailSharpInvoer, cacheInvoker);
|
||||
(logger, iUserService, iRoleService, quartzInvoker, hub, local, thumbnailSharpInvoer, cacheInvoker, unitOfWork);
|
||||
|
||||
|
||||
/// <summary>
|
||||
@@ -113,12 +118,20 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
||||
return Result.Success().SetData(await _iUserService.DbTest());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 工作单元测试,使用sqlsugar内置
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
|
||||
public async Task<Result> TestUnitOfWork()
|
||||
|
||||
public async Task<Result> UnitOfWorkTest()
|
||||
{
|
||||
await _iRoleService.UowTest();
|
||||
return Result.Success();
|
||||
var data = await _iRoleService._repository._DbQueryable.ToListAsync();
|
||||
using (var uow = _unitOfWork.CreateContext())
|
||||
{
|
||||
var res = await _iRoleService._repository.InsertReturnSnowflakeIdAsync(new RoleEntity { RoleName = "测试", RoleCode = "tt" });
|
||||
throw new ApplicationException("测试uow");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -19,7 +19,6 @@ using Microsoft.AspNetCore.Mvc.Controllers;
|
||||
using Yi.Framework.WebCore.AutoFacExtend;
|
||||
using AspectCore.Extensions.DependencyInjection;
|
||||
using AspectCore.Extensions.Hosting;
|
||||
using Yi.Framework.Uow.Interceptors;
|
||||
using Yi.Framework.WebCore.AspNetCoreExtensions;
|
||||
using Yi.Framework.WebCore.CommonExtend;
|
||||
|
||||
@@ -36,8 +35,6 @@ builder.Host.ConfigureAppConfiguration((hostBuilderContext, configurationBuilder
|
||||
configurationBuilder.AddApolloService("Yi");
|
||||
});
|
||||
|
||||
builder.Services.AddUnitOfWork();
|
||||
|
||||
builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory());
|
||||
builder.Host.ConfigureContainer<ContainerBuilder>(containerBuilder =>
|
||||
{
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<DocumentationFile>./Config/SwaggerDoc.xml</DocumentationFile>
|
||||
<NoWarn>1701;1702;CS1591</NoWarn>
|
||||
<NoWarn>1701;1702;CS1591;CS8618</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@@ -25,7 +25,6 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Yi.Framework.Uow\Yi.Framework.Uow.csproj" />
|
||||
<ProjectReference Include="..\Yi.Framework.WebCore\Yi.Framework.WebCore.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user