Persister使用说明
1】加载单个对象 Persister<NewsDetail>.Load(sysNo); 2】查询列表 DateTime dtNow = DateTime.Now.Date; WhereClauseBuilder<NewsMaster> where = new WhereClauseBuilder<NewsMaster>(); where.And(f => f.Status == 3); if (newsType.HasValue) where.And(f => f.Type == newsType); where.And(f => f.PublishDate <= dtNow); where.And(f => f.OfflineDate > dtNow); OrderByClauseBuilder<NewsMaster> sortClauseBuilder = new OrderByClauseBuilder<NewsMaster>(); sortClauseBuilder.Desc(f => f.IsHot); sortClauseBuilder.Desc(f => f.PublishDate); sortClauseBuilder.Desc(f => f.EditDate); return Persister<NewsMaster>.Query(where, sortClauseBuilder, pageSize, pageIndex, out totalCount); 或 WhereClauseBuilder<NewsDetail> where = new WhereClauseBuilder<NewsDetail>(); where.And(f => f.Status == 3); OrderByClauseBuilder<NewsDetail> sortClauseBuilder = new OrderByClauseBuilder<NewsDetail>(); sortClauseBuilder.Desc(f => f.IsHot); sortClauseBuilder.Desc(f => f.PublishDate); return Persister<NewsDetail>.Query(where, sortClauseBuilder); 3】创建一个对象 Persister<AllianceRequest>.Insert<int>(item); 4】查询所有的 return Persister<Area>.QueryAll(); 5】使用固定的字符串连接DefaultConnectionString 6】更新 Persister<AllianceRequest>.Update(item); 7】删除 AllianceRequest entity = new AllianceRequest { SysNo = pkid, Status = -1 }; Persister<AllianceRequest>.Update(entity, f => new { f.SysNo, f.Status}); 8】自定义的查询 string sql = string.Empty; if (!string.IsNullOrEmpty(pCode)) { sql += "SELECT TOP(1) [CategoryCode] FROM [dbo].[ProductCategory] WHERE CategoryCode like @pcode+'%' and [Status]!='D' "; } else { sql += "SELECT TOP(1) [CategoryCode] FROM [dbo].[ProductCategory] WHERE LEN(CategoryCode)=2 and [Status]!='D' "; } sql += " order by CategoryCode desc "; string code = SqlHelper.ExecuteScalar<string>(CONSTValue.DBConnString, CommandType.Text, sql, new SqlParameter("@pcode", pCode)); string sql = @" SELECT [CategoryCode],[CategoryName],[Status] from ( SELECT ROW_NUMBER() OVER(ORDER BY p.CategoryCode asc ) AS RowNumber ,p.CategoryCode,p.CategoryName,p.[Status] from [dbo].[ProductCategory] p WITH(NOLOCK) {0} ) t2 WHERE t2.RowNumber Between {1} and {2} SELECT @TotalCount=count(1) FROM [dbo].[ProductCategory] p WITH(NOLOCK) {0} "; totalCount = 0; List<SqlParameter> listPara = new List<SqlParameter>(); SqlParameter outPara = new SqlParameter("@TotalCount", totalCount); outPara.SqlDbType = SqlDbType.Int; outPara.Direction = ParameterDirection.InputOutput; listPara.Add(outPara); List<string> listWhere = new List<string>(); if (!string.IsNullOrEmpty(status)) { listWhere.Add("p.[Status]=@pstatus"); listPara.Add(new SqlParameter("@pstatus", status)); } if (isChild) { listWhere.Add(" len(p.[CategoryCode])=4 "); } string where = string.Empty; if (listWhere.Count != 0) { where = " where " + string.Join(" and ", listWhere.ToArray()); } sql = string.Format(sql, where, (pageIndex - 1) * pageSize + 1, pageSize * pageIndex); List<ProductCategory> list = new List<ProductCategory>(); using (DataTable objDt = SqlHelper.ExecuteDataTable(CONSTValue.DBConnString, CommandType.Text, sql, listPara.ToArray())) { ProductCategory entity = null; foreach (DataRow dr in objDt.Rows) { if (dr["CategoryCode"] == DBNull.Value) { continue; } entity = new ProductCategory(); entity.CategoryName = dr["CategoryName"].ToString(); list.Add(entity); } totalCount = (int)outPara.Value; }
作者:Bober Song
出处:http://bober.cnblogs.com/
CARE健康网: http://www.aicareyou.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://bober.cnblogs.com/
CARE健康网: http://www.aicareyou.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。