/// <summary> /// 执行写操作 /// </summary> public WriteReturn Write(string name, DbParameter[] param, DataContext db = null, string key = null, bool isOutSql = false) { key = key == null?MapDb(name) : key; var config = db == null?DataConfig.Get(key) : db.config; if (config.IsUpdateCache) { InstanceMap(key); } if (DbCache.Exists(config.CacheType, name.ToLower())) { var sql = MapXml.GetMapSql(name, ref param, db, key); isOutSql = isOutSql ? isOutSql : IsMapLog(name); BaseAop.AopMapBefore(name, sql, param, config, AopType.Map_Write); var data = FastWrite.ExecuteSql(sql, param, db, key, isOutSql, false); BaseAop.AopMapAfter(name, sql, param, config, AopType.Map_Write, data); return(data); } else { BaseAop.AopMapBefore(name, "", param, config, AopType.Map_Write); var data = new WriteReturn(); BaseAop.AopMapAfter(name, "", param, config, AopType.Map_Write, data); return(data); } }
/// <summary> /// maq 执行分页 /// </summary> public static PageResult QueryPage(PageModel pModel, string name, DbParameter[] param, DataContext db = null, string key = null, bool isOutSql = false) { key = key == null?MapDb(name) : key; var config = db == null?DataConfig.Get(key) : db.config; if (config.IsUpdateCache) { InstanceMap(key); } if (DbCache.Exists(config.CacheType, name.ToLower())) { var sql = MapXml.GetMapSql(name, ref param, db, key); isOutSql = isOutSql ? isOutSql : IsMapLog(name); BaseAop.AopMapBefore(name, sql, param, config, AopType.Map_Page_Dic); var result = ExecuteSqlPage(pModel, sql, param, db, key, isOutSql); if (MapXml.MapIsForEach(name, config)) { if (db == null) { using (var tempDb = new DataContext(key)) { for (var i = 1; i <= MapXml.MapForEachCount(name, config); i++) { result.list = MapXml.MapForEach(result.list, name, tempDb, key, config, i); } } } else { result.list = MapXml.MapForEach(result.list, name, db, key, config); } } BaseAop.AopMapAfter(name, sql, param, config, AopType.Map_Page_Dic, result.list); return(result); } else { BaseAop.AopMapBefore(name, "", param, config, AopType.Map_Page_Dic); var data = new PageResult(); BaseAop.AopMapAfter(name, "", param, config, AopType.Map_Page_Dic, data.list); return(data); } }
/// <summary> /// maq 执行返回结果 /// </summary> public List <T> Query <T>(string name, DbParameter[] param, DataContext db = null, string key = null, bool isOutSql = false) where T : class, new() { key = key == null?MapDb(name) : key; var config = db == null?DataConfig.Get(key) : db.config; if (config.IsUpdateCache) { InstanceMap(key); } if (DbCache.Exists(config.CacheType, name.ToLower())) { var sql = MapXml.GetMapSql(name, ref param, db, key); isOutSql = isOutSql ? isOutSql : IsMapLog(name); BaseAop.AopMapBefore(name, sql, param, config, AopType.Map_List_Model); var result = FastRead.ExecuteSql <T>(sql, param, db, key, isOutSql, false); if (MapXml.MapIsForEach(name, config)) { if (db == null) { using (var tempDb = new DataContext(key)) { for (var i = 1; i <= MapXml.MapForEachCount(name, config); i++) { result = MapXml.MapForEach <T>(result, name, tempDb, config, i); } } } else { result = MapXml.MapForEach <T>(result, name, db, config); } } BaseAop.AopMapAfter(name, sql, param, config, AopType.Map_List_Model, result); return(result); } else { BaseAop.AopMapBefore(name, "", param, config, AopType.Map_List_Model); var data = new List <T>(); BaseAop.AopMapAfter(name, "", param, config, AopType.Map_List_Model, data); return(data); } }