/// <summary> /// SqlNonQuery /// </summary> /// <param name="configExecutor"></param> /// <param name="paramsModel">sql的参数模型对象</param> /// <param name="ignoreProptsForParamModel">sql的参数模型对象中需要忽略的属性名</param> /// <param name="clearPolicy">缓存清理策略</param> /// <returns></returns> public static int NonQueryUseModel(this ISqlConfigExecutor configExecutor, object paramsModel, IEnumerable <string> ignoreProptsForParamModel, SqlClearCachePolicy clearPolicy = null) { return(configExecutor.NonQuery(EFHelper.Services.SqlParamConverter.ObjectToDBParams(configExecutor.DB, paramsModel, ignoreProptsForParamModel), ToPolicies(clearPolicy))); }
/// <summary> /// SqlNonQuery /// </summary> /// <param name="configExecutor"></param> /// <param name="parameters">sql的参数</param> /// <param name="clearPolicy">缓存清理策略</param> /// <returns></returns> public static int NonQueryUseDict(this ISqlConfigExecutor configExecutor, IDictionary <string, object> parameters, SqlClearCachePolicy clearPolicy = null) { return(configExecutor.NonQuery(EFHelper.Services.SqlParamConverter.DictionaryToDBParams(configExecutor.DB, parameters), ToPolicies(clearPolicy))); }
protected void ClearCache(string tableName, SqlClearCachePolicy policy) { //清理所在表下的所有缓存 if (policy.IsSelfAll) { _cache.Remove(tableName); } else { //清理所在表下的CacheType if (policy.CacheTypes?.Count > 0) { foreach (var ct in policy.CacheTypes) { _cache.Remove(tableName, ct); } } } //清理其他的Table if (policy.Tables?.Count > 0) { foreach (var t in policy.Tables) { _cache.Remove(t); } } //清理其他的Table下的CachcType if (policy.TableCacheTypes?.Count > 0) { foreach (var pair in policy.TableCacheTypes) { if (pair.Value?.Count > 0) { foreach (var ct in pair.Value) { _cache.Remove(pair.Key, ct); } } } } }