src/Czar.Cms.Core/Repository/BaseRepository.cs

(开头部分) 7KB

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

/**
*┌──────────────────────────────────────────────────────────────┐
*│ 描    述:仓储类的基类                                                    
*│ 作    者:yilezhu                                             
*│ 版    本:1.0                                                 
*│ 创建时间:2018/12/16 12:03:02                             
*└──────────────────────────────────────────────────────────────┘
*┌──────────────────────────────────────────────────────────────┐
*│ 命名空间: Czar.Cms.Core.Repository                                   
*│ 类    名: BaseRepository                                      
*└──────────────────────────────────────────────────────────────┘
*/
using Czar.Cms.Core.DbHelper;
using Czar.Cms.Core.Options;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
using Dapper;

namespace Czar.Cms.Core.Repository
{
    public class BaseRepository<T, TKey> : IBaseRepository<T, TKey> where T : class
    {
        protected DbOption _dbOption;
        protected IDbConnection _dbConnection;

        //public BaseRepository(DbOpion dbOpion)
        //{
        //    _dbOpion = dbOpion ?? throw new ArgumentNullException(nameof(DbOpion));
        //    _dbConnection = ConnectionFactory.CreateConnection(_dbOpion.DbType, _dbOpion.ConnectionString);
        //}

        #region 同步

        public T Get(TKey id) => _dbConnection.Get<T>(id);
        public T Get(string conditions, object parameters = null) => _dbConnection.QueryFirstOrDefault<T>(conditions,parameters);
        public IEnumerable<T> GetList() => _dbConnection.GetList<T>();

        public IEnumerable<T> GetList(object whereConditions) => _dbConnection.GetList<T>(whereConditions);

        public IEnumerable<T> GetList(string conditions, object parameters = null) => _dbConnection.GetList<T>(conditions, parameters);

        public IEnumerable<T> GetListPaged(int pageNumber, int rowsPerPage, string conditions, string orderby, object parameters = null)
        {
            return _dbConnection.GetListPaged<T>(pageNumber, rowsPerPage, conditions, orderby, parameters);
        }
        public int? Insert(T entity) => _dbConnection.Insert(entity);
        public int Update(T entity) => _dbConnection.Update(entity);

        public int Delete(TKey id) => _dbConnection.Delete<T>(id);

        public int Delete(T entity) => _dbConnection.Delete(entity);
        public int DeleteList(object whereConditions, IDbTransaction transaction = null, int? commandTimeout = null)
        {
            return _dbConnection.DeleteList<T>(whereConditions, transaction, commandTimeout);
后面还有 110 行代码,解锁后查看完整代码

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

AI 解读

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

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