From fe056976871575185e474c84152a2a7cd0077cab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E5=81=9A=E7=A0=81=E5=86=9C?= <599854767@qq.com> Date: Sun, 17 Oct 2021 17:34:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=9F=BA=E7=A1=80=E4=BB=93?= =?UTF-8?q?=E5=82=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Repository/BaseRepository.cs | 68 +++++++++++++++++++++----------- ZR.Repository/IBaseRepository.cs | 12 +++--- 2 files changed, 52 insertions(+), 28 deletions(-) diff --git a/ZR.Repository/BaseRepository.cs b/ZR.Repository/BaseRepository.cs index 644cb52..5e051bf 100644 --- a/ZR.Repository/BaseRepository.cs +++ b/ZR.Repository/BaseRepository.cs @@ -16,17 +16,37 @@ namespace ZR.Repository /// /// /// - public class BaseRepository : SimpleClient, IBaseRepository where T : class, new() + public class BaseRepository : IBaseRepository where T : class, new() { - public BaseRepository(ISqlSugarClient dbContext = null, int configId = 0) : base(dbContext) + public ISqlSugarClient Context; + //private ISqlSugarClient _db + //{ + // get + // { + // if (typeof(T).GetTypeInfo().GetCustomAttributes(typeof(SugarTable), true).FirstOrDefault((x => x.GetType() == typeof(SugarTable))) is SugarTable sugarTable && !string.IsNullOrEmpty(sugarTable.TableDescription)) + // { + // Context.ChangeDatabase(sugarTable.TableDescription.ToLower()); + // } + // else + // { + // Context.ChangeDatabase(0); + // } + + // return Context; + // } + //} + public BaseRepository(ISqlSugarClient dbContext = null, string configId = "0") //: base(dbContext) { if (dbContext == null) { - //Console.WriteLine("configId:" + configId); - base.Context = DbScoped.SugarScope.GetConnection(configId);//根据类传入的ConfigId自动选择 + Context = DbScoped.SugarScope.GetConnection(configId);//根据类传入的ConfigId自动选择 + //_dbbase = Context; } } - + //public ISqlSugarClient Db + //{ + // get { return _db; } + //} #region add /// /// 插入指定列使用 @@ -72,7 +92,11 @@ namespace ZR.Repository public int Insert(List t) { - return base.Context.Insertable(t).ExecuteCommand(); + return Context.Insertable(t).ExecuteCommand(); + } + public long InsertReturnBigIdentity(T t) + { + return Context.Insertable(t).ExecuteReturnBigIdentity(); } //public int InsertIgnoreNullColumn(List t) @@ -178,7 +202,7 @@ namespace ZR.Repository }; } //base.Context.Updateable(entity).IgnoreColumns(c => list.Contains(c)).Where(isNull).ExecuteCommand() - return base.Context.Updateable(entity).IgnoreColumns(isNull).IgnoreColumns(list.ToArray()).ExecuteCommand() > 0; + return Context.Updateable(entity).IgnoreColumns(isNull).IgnoreColumns(list.ToArray()).ExecuteCommand() > 0; } //public bool Update(List entity) @@ -191,7 +215,7 @@ namespace ZR.Repository //} public bool Update(Expression> where, Expression> columns) { - return base.Context.Updateable().SetColumns(columns).Where(where).RemoveDataCache().ExecuteCommand() > 0; + return Context.Updateable().SetColumns(columns).Where(where).RemoveDataCache().ExecuteCommand() > 0; } #endregion update @@ -215,10 +239,10 @@ namespace ZR.Repository #region delete - //public bool DeleteExp(Expression> expression) - //{ - // return Context.Deleteable().Where(expression).ExecuteCommand() > 0; - //} + public int Delete(Expression> expression) + { + return Context.Deleteable().Where(expression).ExecuteCommand(); + } //public bool Delete(PkType[] primaryKeyValues) //{ @@ -257,7 +281,7 @@ namespace ZR.Repository // return Context.Queryable(tableName, shortName); //} - public List QueryableToList(Expression> expression) + public List GetList(Expression> expression) { return Context.Queryable().Where(expression).ToList(); } @@ -278,11 +302,6 @@ namespace ZR.Repository // return Context.Queryable(tableName).ToList(); //} - //public List QueryableToList(string tableName, Expression> expression) - //{ - // return Context.Queryable(tableName).Where(expression).ToList(); - //} - //public (List, int) QueryableToPage(Expression> expression, int pageIndex = 0, int pageSize = 10) //{ // int totalNumber = 0; @@ -313,10 +332,10 @@ namespace ZR.Repository // } //} - public List SqlQueryToList(string sql, object obj = null) - { - return Context.Ado.SqlQuery(sql, obj); - } + //public List SqlQueryToList(string sql, object obj = null) + //{ + // return Context.Ado.SqlQuery(sql, obj); + //} /// /// 获得一条数据 /// @@ -363,6 +382,11 @@ namespace ZR.Repository { return Context.Queryable().WithCacheIF(useCache, cacheSecond).ToList(); } + + public int Count(Expression> where) + { + return Context.Queryable().Count(where); + } #endregion query /// diff --git a/ZR.Repository/IBaseRepository.cs b/ZR.Repository/IBaseRepository.cs index 343e332..74e3173 100644 --- a/ZR.Repository/IBaseRepository.cs +++ b/ZR.Repository/IBaseRepository.cs @@ -36,7 +36,7 @@ namespace ZR.Repository //DbResult InsertTran(T t); //DbResult InsertTran(List t); - + long InsertReturnBigIdentity(T t); //T InsertReturnEntity(T t); //T InsertReturnEntity(T t, string sqlWith = SqlWith.UpdLock); @@ -89,7 +89,7 @@ namespace ZR.Repository #region delete - //bool DeleteExp(Expression> expression); + int Delete(Expression> expression); //bool Delete(PkType[] primaryKeyValues); //int Delete(object[] obj); @@ -118,7 +118,7 @@ namespace ZR.Repository //ISugarQueryable Queryable() where T1 : class where T2 : new(); - List QueryableToList(Expression> expression); + List GetList(Expression> expression); //Task> QueryableToListAsync(Expression> expression); @@ -126,8 +126,6 @@ namespace ZR.Repository //List QueryableToList(string tableName); - //List QueryableToList(string tableName, Expression> expression); - //(List, int) QueryableToPage(Expression> expression, int pageIndex = 0, int pageSize = 10); //(List, int) QueryableToPage(Expression> expression, string order, int pageIndex = 0, int pageSize = 10); @@ -136,7 +134,7 @@ namespace ZR.Repository //(List, int) QueryableToPage(Expression> expression, Bootstrap.BootstrapParams bootstrap); - List SqlQueryToList(string sql, object obj = null); + //List SqlQueryToList(string sql, object obj = null); /// /// 获得一条数据 /// @@ -152,6 +150,8 @@ namespace ZR.Repository /// //T GetFirst(string parm); + int Count(Expression> where); + #endregion query #region Procedure