完成工作单元

This commit is contained in:
橙子
2023-01-18 00:34:14 +08:00
parent 2fa3570f85
commit eb1a86e5b2
9 changed files with 32 additions and 10 deletions

View File

@@ -1,21 +1,24 @@
using SqlSugar;
using Microsoft.Extensions.DependencyInjection;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Core.Model;
using Yi.Framework.Ddd.Repositories;
using Yi.Framework.Uow;
namespace Yi.Framework.Core.Sqlsugar.Uow
{
public class UnitOfWork : IUnitOfWork
{
public ISqlSugarClient Db { get; set; }
public ITenant Tenant { get; set; }
public bool IsTran { get; set; }
public bool IsCommit { get; set; }
public bool IsClose { get; set; }
public ISqlSugarClient Db { get; set; }
public ITenant Tenant { get; set; }
public bool IsTran { get; set; }
public bool IsCommit { get; set; }
public bool IsClose { get; set; }
public void Dispose()
{
@@ -44,5 +47,13 @@ namespace Yi.Framework.Core.Sqlsugar.Uow
}
return IsCommit;
}
public IRepository<T> GetRepository<T>()
{
if (ServiceLocatorModel.Instance is null)
throw new ArgumentNullException("ServiceLocatorModel.Instance");
//又是你这个骚东西
return ServiceLocatorModel.Instance.GetRequiredService<IRepository<T>>();
}
}
}

View File

@@ -25,6 +25,7 @@ namespace Yi.Framework.Core.Sqlsugar
services.AddSingleton<IUnitOfWorkManager, UnitOfWorkManager>();
services.Configure<DbConnOptions>(Appsettings.appConfiguration("DbConnOptions"));
services.AddSqlsugarServer();

View File

@@ -12,7 +12,6 @@
<ProjectReference Include="..\Yi.Framework.Core.Autofac\Yi.Framework.Core.Autofac.csproj" />
<ProjectReference Include="..\Yi.Framework.Core.AutoMapper\Yi.Framework.Core.AutoMapper.csproj" />
<ProjectReference Include="..\Yi.Framework.Core\Yi.Framework.Core.csproj" />
<ProjectReference Include="..\Yi.Framework.Uow\Yi.Framework.Uow.csproj" />
</ItemGroup>
<ItemGroup>

View File

@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Ddd.Repositories;
namespace Yi.Framework.Uow
{
@@ -12,6 +13,7 @@ namespace Yi.Framework.Uow
bool IsCommit { get; set; }
bool IsClose { get; set; }
IRepository<T> GetRepository<T>();
bool Commit();
}
}

View File

@@ -6,4 +6,8 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Yi.Framework.Ddd\Yi.Framework.Ddd.csproj" />
</ItemGroup>
</Project>