///<summary> ///分页查询一个集合 ///</summary> ///<param name="index">页码</param> ///<param name="size">页大小</param> ///<param name="columns">指定的列</param> ///<param name="wheres">条件匿名类</param> ///<param name="orderField">排序字段</param> ///<param name="isDesc">是否降序排序</param> ///<returns>实体集合</returns> public IEnumerable <Dictionary <string, object> > QueryListX(int index, int size, object columns = null, object wheres = null, string orderField = "objectId", bool isDesc = true) { List <SqlParameter> list = null; string where = wheres.parseWheres(out list); orderField = string.IsNullOrEmpty(orderField) ? "objectId" : orderField; Dictionary <string, string[]> li; string[] clumns = new String[] { "objectId", "love", "dislove", "fav", "updatedAt", "createdAt" }; string[] cls = columns.parseColumnsX(clumns, "ItemUser", out li); var sql = SqlHelper.GenerateQuerySql("ItemUser", li["ItemUser"], index, size, where, orderField, isDesc); using (var reader = SqlHelper.ExecuteReader(sql, list.ToArray())) { if (reader.HasRows) { while (reader.Read()) { Dictionary <string, object> model = SqlHelper.MapEntity(reader, cls); if (li.ContainsKey("_User")) { _UserDAO _UserDAO = new _UserDAO(); model["_User"] = _UserDAO.QuerySingleByIdX((string)reader["_UserId"], li["_User"]); } if (li.ContainsKey("item")) { itemDAO itemDAO = new itemDAO(); model["item"] = itemDAO.QuerySingleByIdX((string)reader["itemId"], li["item"]); } yield return(model); } } } }
///<summary> ///查询单个模型实体 ///</summary> ///<param name=objectId>主键</param>); ///<returns>实体</returns>); public Dictionary <string, object> QuerySingleByIdX(string objectId, object columns) { Dictionary <string, string[]> li; string[] clumns = new String[] { "objectId", "love", "dislove", "fav", "updatedAt", "createdAt" }; string[] cls = columns.parseColumnsX(clumns, "ItemUser", out li); string sql = "SELECT TOP 1 " + string.Join(",", li["ItemUser"]) + " from ItemUser WHERE [objectId] = @objectId"; using (var reader = SqlHelper.ExecuteReader(sql, new SqlParameter("@objectId", objectId))) { if (reader.HasRows) { reader.Read(); Dictionary <string, object> model = SqlHelper.MapEntity(reader, cls); if (li.ContainsKey("_User")) { _UserDAO _UserDAO = new _UserDAO(); model["_User"] = _UserDAO.QuerySingleByIdX((string)reader["_UserId"], li["_User"]); } if (li.ContainsKey("item")) { itemDAO itemDAO = new itemDAO(); model["item"] = itemDAO.QuerySingleByIdX((string)reader["itemId"], li["item"]); } return(model); } else { return(null); } } }
///<summary> ///查询单个模型实体 ///</summary> ///<param name="wheres">条件</param> ///<param name="columns">列集合</param> ///<returns>实体</returns> public Dictionary <string, object> QuerySingleByWheresX(object wheres, object columns) { List <SqlParameter> list = null; string where = wheres.parseWheres(out list); where = string.IsNullOrEmpty(where) ? "" : " where " + where; Dictionary <string, string[]> li; string[] clumns = new String[] { "objectId", "love", "dislove", "fav", "updatedAt", "createdAt" }; string[] cls = columns.parseColumnsX(clumns, "ItemUser", out li); string sql = "SELECT TOP 1 " + string.Join(",", li["ItemUser"]) + " from ItemUser" + where; using (var reader = SqlHelper.ExecuteReader(sql, list.ToArray())) { if (reader.HasRows) { reader.Read(); Dictionary <string, object> model = SqlHelper.MapEntity(reader, cls); if (li.ContainsKey("_User")) { _UserDAO _UserDAO = new _UserDAO(); model["_User"] = _UserDAO.QuerySingleByIdX((string)reader["_UserId"], li["_User"]); } if (li.ContainsKey("item")) { itemDAO itemDAO = new itemDAO(); model["item"] = itemDAO.QuerySingleByIdX((string)reader["itemId"], li["item"]); } return(model); } else { return(null); } } }