General.Entities/UnitOfWork.cs
(完整代码) 1KBusing General.Core.UnitOfWork;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Options;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
namespace General.Entities
{
/// <summary>
/// 工作单元实现类
/// </summary>
public class UnitOfWork<TDbContext> : IUnitOfWork, IDisposable where TDbContext : DbContext
{
#region 数据上下文
/// <summary>
/// 数据上下文
/// </summary>
public TDbContext _dbContext;
private DBConnectionOption _readAndWrite = null;
public UnitOfWork(TDbContext dbContext, IOptionsMonitor<DBConnectionOption> options)
{
_dbContext = dbContext;
this._readAndWrite = options.CurrentValue;
_dbContext.Database.GetDbConnection().ConnectionString = this._readAndWrite.WriteConnection;
}
#endregion
public int Commit()
{
return _dbContext.SaveChanges();
}
public async Task<int> CommitAsync()
{
return await _dbContext.SaveChangesAsync();
}
public void Dispose()
{
if (_dbContext != null)
{
_dbContext.Dispose();
}
GC.SuppressFinalize(this);
}
}
}
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
