NET+EF+MVC从列表中取出部分字段返回前端展示Select用法

在NET+EF+MVC开发api接口的时候,在前端分页展示列表时,通用方法我们是为了创建一个接受的实体model,将列表中的值赋给model,然后返回数据,app端从接口接收然后输出数据即可,但有时候为了快速解决问题,本身输出的字段很少,就没有必要再创建一个接收实体文件,只需要改动我们的sql语句,主要是List.Select用法(select选择实体中的部分数据)就可以实现同样的效果,下面给出实例,以供参考 :



NET+EF+MVC从列表中取出部分字段返回前端展示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 = PredicateExtensionses.True();

where = where.And(a => a.TrialID == TrialID && a.KindergartenID == KindergartenID && a.TeacherUserID == TeacherUserID);

IPagedList List = ef.hx_TeacherInfoCenter.Where(where).OrderByDescending(p => p.MesTime).AsNoTracking().ToPagedList(pageIndex, pageSize);

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 条评论) “”
   
验证码:

相关文章

推荐文章