src/02_Data/Data.Core/Repository/RepositoryAbstract.cs

(开头部分) 13KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Dapper;
using Mkh.Data.Abstractions;
using Mkh.Data.Abstractions.Adapter;
using Mkh.Data.Abstractions.Descriptors;
using Mkh.Data.Abstractions.Entities;
using Mkh.Data.Abstractions.Logger;

namespace Mkh.Data.Core.Repository;

public abstract partial class RepositoryAbstract<TEntity> : IRepository<TEntity> where TEntity : IEntity, new()
{
    #region ==字段==

    private IEntitySqlDescriptor _sql;
    private IDbAdapter _adapter;
    private DbLogger _logger;
    private IServiceProvider _sp;

    #endregion

    #region ==属性==

    public IDbContext DbContext { get; private set; }

    public IUnitOfWork Uow { get; private set; }

    public IEntityDescriptor EntityDescriptor { get; private set; }

    internal IDbTransaction Transaction => Uow?.Transaction;

    public IDbConnection Conn
    {
        get
        {
            //先从事务中获取连接
            if (Transaction != null)
                return Transaction.Connection;

            return DbContext.NewConnection();
        }
    }

    #endregion

    #region ==初始化==

    /// <summary>
    /// 初始化
    /// </summary>
    /// <param name="context"></param>
    /// <param name="sp"></param>
    internal void Init(IDbContext context, IServiceProvider sp)
    {
        DbContext = context;
后面还有 364 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。