在NET+EF+MVC开发api接口的时候,在前端分页展示列表时,通用方法我们是为了创建一个接受的实体model,将列表中的值赋给model,然后返回数据,app端从接口接收然后输出数据即可,但有时候为了快速解决问题,本身输出的字段很少,就没有必要再创建一个接收实体文件,只需要改动我们的sql语句,主要是List.Select用法(select选择实体中的部分数据)就可以实现同样的效果,下面给出实例,以供参考 :
[HttpGet]
public HttpResponseMessage TH_SystemMessageList(decimal TeacherUserID = 0, decimal KindergartenID = 0, decimal TrialID = 0, int pageIndex = 1, int pageSize = 10, string Token = null)
{
HttpResponseMessage result = null;
var ReturnStr = "{\"result\":\"" + (int)KeyEnum.AppReturn.失败 + "\",\"msg\":\"查询失败\",\"data\":{}}";
ef.Configuration.ProxyCreationEnabled = false;
if (TeacherUserID > 0 && TrialID > 0 && KindergartenID > 0)
{
#region 验证token
if (!string.IsNullOrEmpty(Token))
{
int m = new WisdomStars.Bll.Api.Common().PUB_VerificationToken(Token);
if (m <= 0)
{
ReturnStr = "{\"result\":\"" + (int)KeyEnum.AppReturn.失败 + "\",\"msg\":\"登录失效\",\"data\":{}}";
result = new HttpResponseMessage { Content = new StringContent(ReturnStr, Encoding.GetEncoding("UTF-8"), "application/json") };
return result;
}
}
else
{
ReturnStr = "{\"result\":\"" + (int)KeyEnum.AppReturn.失败 + "\",\"msg\":\"token不能为空\",\"data\":{}}";
result = new HttpResponseMessage { Content = new StringContent(ReturnStr, Encoding.GetEncoding("UTF-8"), "application/json") };
return result;
}
#endregion 验证token
Expression
where = where.And(a => a.TrialID == TrialID && a.KindergartenID == KindergartenID && a.TeacherUserID == TeacherUserID);
IPagedList
int TotalItemCount = 0;
int TotalPageCount = 0;
if (List != null && List.Count() > 0)
{
TotalItemCount = List.TotalItemCount; //总数量
if (TotalItemCount % pageSize == 0)
{
TotalPageCount = TotalItemCount / pageSize; //总页数
}
else
{
TotalPageCount = TotalItemCount / pageSize + 1; //总页数
}
var data = List.Select(n => new { TeacherInfoCenterID = n.TeacherInfoCenterID.ToString(), MesType = n.MesType, Messagekey = n.Messagekey.ToString(), MesTitle = n.MesTitle, MesContext = n.MesContext, MesTime = n.MesTime, IsRead = n.IsRead });
ReturnStr = "{\"result\":\"" + (int)KeyEnum.AppReturn.成功 + "\",\"msg\":\"获取成功\",\"data\":{\"TotalPageCount\":" + TotalPageCount + ",\"TotalItemCount\":" + TotalItemCount + ",\"pageIndex\":\"" + pageIndex + "\",\"pageSize\":\"" + pageSize + "\",\"list\":" + data.ToEnJsonString() + "}}";
}
else
{
ReturnStr = "{\"result\":\"" + (int)KeyEnum.AppReturn.无数据 + "\",\"msg\":\"无数据\",\"data\":{}}";
}
}
result = new HttpResponseMessage { Content = new StringContent(ReturnStr, Encoding.GetEncoding("UTF-8"), "application/json") };
return result;
}
| 留言与评论(共有 0 条评论) “” |