src/02_Data/Data.Abstractions/IRepository.cs

(开头部分) 12KB

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

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq.Expressions;
using System.Threading.Tasks;
using Dapper;
using Mkh.Data.Abstractions.Descriptors;
using Mkh.Data.Abstractions.Entities;
using Mkh.Data.Abstractions.Queryable;

namespace Mkh.Data.Abstractions;

/// <summary>
/// 仓储接口
/// </summary>
public interface IRepository
{
    /// <summary>
    /// 数据库上下文
    /// </summary>
    IDbContext DbContext { get; }

    /// <summary>
    /// 关联工作单元
    /// </summary>
    IUnitOfWork Uow { get; }

    /// <summary>
    /// 实体描述符
    /// </summary>
    IEntityDescriptor EntityDescriptor { get; }

    /// <summary>
    /// 绑定工作单元
    /// </summary>
    /// <param name="uow"></param>
    void BindingUow(IUnitOfWork uow);

    /// <summary>
    /// 执行一个命令并返回受影响的行数
    /// </summary>
    /// <param name="sql">sql语句</param>
    /// <param name="param">参数</param>
    /// <param name="uow">工作单元</param>
    /// <param name="commandType">命令类型</param>
    /// <returns></returns>
    Task<int> Execute(string sql, object param = null, IUnitOfWork uow = null, CommandType? commandType = null);

    /// <summary>
    /// 执行一个命令并返回单个值
    /// </summary>
    /// <typeparam name="T"></typeparam>
    /// <param name="sql">sql语句</param>
    /// <param name="param">参数</param>
    /// <param name="uow">工作单元</param>
    /// <param name="commandType">命令类型</param>
    /// <returns></returns>
    Task<T> ExecuteScalar<T>(string sql, object param = null, IUnitOfWork uow = null, CommandType? commandType = null);

    /// <summary>
后面还有 296 行代码,解锁后查看完整代码

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

AI 解读

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

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