mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-19 20:38:16 +08:00
- 修改 FreeSql.Repository Autofac 注入方式,真正的实现全局过滤功能;
- 增加 FreeSql.Repository DataFilter 属性; ```csharp repos.DataFilter.Disable("test") 临时禁用,不影响全部; repos.DataFilter.DisableAll() repos.DataFilter.Enable("test") repos.DataFilter.EnableAll() repos.DataFilter.Apply("name", a => a.Id > 1) 附加新的过滤器 ```
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<Version>0.3.12</Version>
|
||||
<Version>0.3.13</Version>
|
||||
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
||||
<Authors>YeXiangQin</Authors>
|
||||
<Description>打造 .NETCore 最方便的 ORM,DbFirst 与 CodeFirst 混合使用,提供从实体同步数据库,或者从数据库生成实体代码,支持 MySql/SqlServer/PostgreSQL/Oracle/Sqlite,读写分离、分表分库。</Description>
|
||||
|
@ -78,6 +78,7 @@ namespace FreeSql.Internal.CommonProvider {
|
||||
public List<T> Query<T>(CommandType cmdType, string cmdText, params DbParameter[] cmdParms) => Query<T>(null, cmdType, cmdText, cmdParms);
|
||||
public List<T> Query<T>(DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms) {
|
||||
var ret = new List<T>();
|
||||
if (string.IsNullOrEmpty(cmdText)) return ret;
|
||||
var type = typeof(T);
|
||||
int[] indexes = null;
|
||||
var props = dicQueryTypeGetProperties.GetOrAdd(type, k => type.GetProperties());
|
||||
@ -96,6 +97,7 @@ namespace FreeSql.Internal.CommonProvider {
|
||||
public void ExecuteReader(DbTransaction transaction, Action<DbDataReader> readerHander, string cmdText, object parms = null) => ExecuteReader(transaction, readerHander, CommandType.Text, cmdText, GetDbParamtersByObject(cmdText, parms));
|
||||
public void ExecuteReader(Action<DbDataReader> readerHander, CommandType cmdType, string cmdText, params DbParameter[] cmdParms) => ExecuteReader(null, readerHander, cmdType, cmdText, cmdParms);
|
||||
public void ExecuteReader(DbTransaction transaction, Action<DbDataReader> readerHander, CommandType cmdType, string cmdText, params DbParameter[] cmdParms) {
|
||||
if (string.IsNullOrEmpty(cmdText)) return;
|
||||
var dt = DateTime.Now;
|
||||
var logtxt = new StringBuilder();
|
||||
var logtxt_dt = DateTime.Now;
|
||||
@ -218,6 +220,7 @@ namespace FreeSql.Internal.CommonProvider {
|
||||
public int ExecuteNonQuery(DbTransaction transaction, string cmdText, object parms = null) => ExecuteNonQuery(transaction, CommandType.Text, cmdText, GetDbParamtersByObject(cmdText, parms));
|
||||
public int ExecuteNonQuery(CommandType cmdType, string cmdText, params DbParameter[] cmdParms) => ExecuteNonQuery(null, cmdType, cmdText, cmdParms);
|
||||
public int ExecuteNonQuery(DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms) {
|
||||
if (string.IsNullOrEmpty(cmdText)) return 0;
|
||||
var dt = DateTime.Now;
|
||||
var logtxt = new StringBuilder();
|
||||
var logtxt_dt = DateTime.Now;
|
||||
@ -245,6 +248,7 @@ namespace FreeSql.Internal.CommonProvider {
|
||||
public object ExecuteScalar(DbTransaction transaction, string cmdText, object parms = null) => ExecuteScalar(transaction, CommandType.Text, cmdText, GetDbParamtersByObject(cmdText, parms));
|
||||
public object ExecuteScalar(CommandType cmdType, string cmdText, params DbParameter[] cmdParms) => ExecuteScalar(null, cmdType, cmdText, cmdParms);
|
||||
public object ExecuteScalar(DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms) {
|
||||
if (string.IsNullOrEmpty(cmdText)) return null;
|
||||
var dt = DateTime.Now;
|
||||
var logtxt = new StringBuilder();
|
||||
var logtxt_dt = DateTime.Now;
|
||||
|
@ -14,6 +14,7 @@ namespace FreeSql.Internal.CommonProvider {
|
||||
public Task<List<T>> QueryAsync<T>(CommandType cmdType, string cmdText, params DbParameter[] cmdParms) => QueryAsync<T>(null, cmdType, cmdText, cmdParms);
|
||||
async public Task<List<T>> QueryAsync<T>(DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms) {
|
||||
var ret = new List<T>();
|
||||
if (string.IsNullOrEmpty(cmdText)) return ret;
|
||||
var type = typeof(T);
|
||||
int[] indexes = null;
|
||||
var props = dicQueryTypeGetProperties.GetOrAdd(type, k => type.GetProperties());
|
||||
@ -33,6 +34,7 @@ namespace FreeSql.Internal.CommonProvider {
|
||||
public Task ExecuteReaderAsync(DbTransaction transaction, Func<DbDataReader, Task> readerHander, string cmdText, object parms = null) => ExecuteReaderAsync(transaction, readerHander, CommandType.Text, cmdText, GetDbParamtersByObject(cmdText, parms));
|
||||
public Task ExecuteReaderAsync(Func<DbDataReader, Task> readerHander, CommandType cmdType, string cmdText, params DbParameter[] cmdParms) => ExecuteReaderAsync(null, readerHander, cmdType, cmdText, cmdParms);
|
||||
async public Task ExecuteReaderAsync(DbTransaction transaction, Func<DbDataReader, Task> readerHander, CommandType cmdType, string cmdText, params DbParameter[] cmdParms) {
|
||||
if (string.IsNullOrEmpty(cmdText)) return;
|
||||
var dt = DateTime.Now;
|
||||
var logtxt = new StringBuilder();
|
||||
var logtxt_dt = DateTime.Now;
|
||||
@ -155,6 +157,7 @@ namespace FreeSql.Internal.CommonProvider {
|
||||
public Task<int> ExecuteNonQueryAsync(DbTransaction transaction, string cmdText, object parms = null) => ExecuteNonQueryAsync(transaction, CommandType.Text, cmdText, GetDbParamtersByObject(cmdText, parms));
|
||||
public Task<int> ExecuteNonQueryAsync(CommandType cmdType, string cmdText, params DbParameter[] cmdParms) => ExecuteNonQueryAsync(null, cmdType, cmdText, cmdParms);
|
||||
async public Task<int> ExecuteNonQueryAsync(DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms) {
|
||||
if (string.IsNullOrEmpty(cmdText)) return 0;
|
||||
var dt = DateTime.Now;
|
||||
var logtxt = new StringBuilder();
|
||||
var logtxt_dt = DateTime.Now;
|
||||
@ -182,6 +185,7 @@ namespace FreeSql.Internal.CommonProvider {
|
||||
public Task<object> ExecuteScalarAsync(DbTransaction transaction, string cmdText, object parms = null) => ExecuteScalarAsync(transaction, CommandType.Text, cmdText, GetDbParamtersByObject(cmdText, parms));
|
||||
public Task<object> ExecuteScalarAsync(CommandType cmdType, string cmdText, params DbParameter[] cmdParms) => ExecuteScalarAsync(null, cmdType, cmdText, cmdParms);
|
||||
async public Task<object> ExecuteScalarAsync(DbTransaction transaction, CommandType cmdType, string cmdText, params DbParameter[] cmdParms) {
|
||||
if (string.IsNullOrEmpty(cmdText)) return null;
|
||||
var dt = DateTime.Now;
|
||||
var logtxt = new StringBuilder();
|
||||
var logtxt_dt = DateTime.Now;
|
||||
|
@ -25,7 +25,7 @@ namespace FreeSql.Internal.CommonProvider {
|
||||
try { Cache.Remove($"{key1}|{key2}"); } catch { } // redis-cluster 不允许执行 multi keys 命令
|
||||
CacheSupportMultiRemove = Cache.Get(key1) == null && cache.Get(key2) == null;
|
||||
if (CacheSupportMultiRemove == false) {
|
||||
log.LogWarning("FreeSql Warning: 低性能, IDistributedCache 没实现批量删除缓存 Cache.Remove(\"key1|key2\").");
|
||||
//log.LogWarning("FreeSql Warning: 低性能, IDistributedCache 没实现批量删除缓存 Cache.Remove(\"key1|key2\").");
|
||||
Remove(key1, key2);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user