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