public class Message
{
public int MessageId { get; set; }
public string MessageTitle { get; set; }
public string MessageContent { get; set; }
public DateTime? MessageDate { get; set; }
public string MessageType { get; set; }
public int? MessageAuthorId { get; set; }
public int MessageStart { get; set; }
public int? ParentID { get; set; }
public string remark { get; set; }
} //总条数+数据
public class MessageCount
{
public int count { get; set; }
public List<Message> MessageList { get; set; }
}

     /// <summary>
/// 分页查询
/// </summary>
public MessageCount getMessaggePage(string MessageId, string MessageTitle, string MessageContent, string MessageType, string MessageAuthorId, string MessageStart, string ParentID, string remark, int min, int max)
{ ZQSDWEBEntities2 ZQSDWEBEntities2 = new ZQSDWEBEntities2();
MessageCount messageCount = new MessageCount(); messageCount.count = ZQSDWEBEntities2.MessageDetail.Count<MessageDetail>(); //IEnumerable<Message> messageList = (from h in ZQSDWEBEntities2.MessageDetail
// where h.ParentID == ParentID && h.MessageStart == MessageStart &&
// h.MessageAuthorId == MessageAuthorId && h.MessageContent == MessageContent&&
// h.MessageId == MessageId&&
// h.MessageTitle == MessageTitle && h.MessageType == MessageType&&
// h.remark == remark
// select new mode.Message()
// { // MessageId = h.MessageId,
// MessageAuthorId = h.MessageAuthorId,
// MessageContent = h.MessageContent,
// MessageDate = h.MessageDate,
// MessageStart = h.MessageStart,
// MessageTitle = h.MessageTitle,
// MessageType = h.MessageType,
// ParentID = h.ParentID,
// remark = h.remark
// }).OrderBy(h=>h.MessageId).Skip<Message>(min).Take<Message>(max); IQueryable<MessageDetail> odj = ZQSDWEBEntities2.MessageDetail; try
{ if (MessageId != null)
{
int tem = Convert.ToInt32(MessageId);
odj = odj.Where(M => M.MessageId == tem);
}
if (MessageTitle != null)
{
odj = odj.Where(M => M.MessageTitle.StartsWith(MessageTitle));
}
if (MessageContent != null)
{
odj = odj.Where(M => M.MessageContent.StartsWith(MessageContent));
}
if (MessageType != null)
{
odj = odj.Where(M => M.MessageType == MessageType);
}
if (MessageAuthorId != null)
{
int tem = Convert.ToInt32(MessageAuthorId);
odj = odj.Where(M => M.MessageAuthorId == tem);
}
if (MessageStart != null)
{
int tem = Convert.ToInt32(MessageStart);
odj = odj.Where(M => M.MessageStart == tem); }
if (ParentID != null)
{
int tem = Convert.ToInt32(ParentID);
odj = odj.Where(M => M.ParentID == tem); }
if (remark != null)
{
odj = odj.Where(M => M.remark == remark);
}
odj = odj.OrderBy(Math => Math.MessageId).Skip(min).Take(max);
}
catch (Exception ex)
{ throw ex;
} messageCount.MessageList = (from h in odj
select new Message()
{
MessageId = h.MessageId,
MessageAuthorId = h.MessageAuthorId,
MessageContent = h.MessageContent,
MessageDate = h.MessageDate,
MessageStart = h.MessageStart,
MessageTitle = h.MessageTitle,
MessageType = h.MessageType,
ParentID = h.ParentID,
remark = h.remark }).ToList();
return messageCount; // 拉姆达表达式
// adapter.GetData().Select(d=>new Customer(){ID=d.ID,...}) //List<MessageDetail> MessageDetails = ZQSDWEBEntities2.MessageDetail.Where<MessageDetail>(M => M.ParentID == PrentId && M.MessageStart == 1).ToList<MessageDetail>();
// return JsonConvert.SerializeObject(MessageDetails, Formatting.None); }

动态创建分页 LINQ+EF的更多相关文章

  1. [EF] - 动态创建模型:System.Reflection.Emit + Code First

    动态创建Entity Framework模型并且创建数据库 使用System.Reflection.Emit+Code First model创建以下的一个实体类和DbContext并且创建数据库: ...

  2. ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段

    ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...

  3. JS,Jquery,ExtJs不同脚本动态创建DOM对象

    好久不来写东西了,这段时间太慢了,闲了下来看了几篇文章,觉得很好,同时也许咱们大家都能遇到,所以就把它记录下来... 简单使用JavaScript.JQuery.ExtJs进行DOM对象创建的测试,主 ...

  4. JavaScript DOM动态创建(声明)Object元素

    http://www.cnblogs.com/GuominQiu/archive/2011/04/01/2002783.html 一文提及“等整个页面加载完毕后,根据用户所选的阅读机类型,再用Java ...

  5. 基于jquery的表格动态创建,自动绑定,自动获取值

    最近刚加入GUT项目,学习了很多其他同事写的代码,感觉受益匪浅. 在GUT项目中,经常会碰到这样一个问题:动态生成表格,包括从数据库中读取数据,并绑定在表格中,以及从在页面上通过jQuery新增删除表 ...

  6. C# 动态创建出来的窗体间的通讯 delegate2

    附件:http://files.cnblogs.com/xe2011/CSharp_WindowsForms_delegate02.rar 窗体2 和窗体3 都是动态创建出来的 现在 FORM3.TE ...

  7. FineUIMvc随笔 - 动态创建表格列

    声明:FineUIMvc(基础版)是免费软件,本系列文章适用于基础版. 用户需求 用户希望实现动态创建表格列,在 WebForms 中,我们通过在 Page_Init 中创建列来实现: 但是在 MVC ...

  8. FineUIMvc随笔(1)动态创建表格列

    声明:FineUIMvc(基础版)是免费软件,本系列文章适用于基础版. <FineUIMvc随笔>目录 FineUIMvc随笔(1)动态创建表格列 FineUIMvc随笔(2)怎样在控件中 ...

  9. oaf 动态创建table vo (转)

    原文地址:如何动态创建table 需求: 因为系统中有几千个QA plan 但是不能手动创建几千个 质量收集页面所有需要根据 不同的plan 动态创建对应的 质量收集页面. 但是创建tabel 都要绑 ...

随机推荐

  1. sqlserver2005仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表 'SendMealAddress'中为标识列指定显式值。

    ps = con.prepareStatement("insert into SendMealAddress values(null,?,?,?,?)"); 表有一列是自增长的标识 ...

  2. 记微信开发(有道翻译api)

    记微信开发(有道翻译api) 记微信开发(有道翻译api) 效果: 有道翻译api申请: 地址:http://fanyi.youdao.com/openapi code: <?php/** * ...

  3. select语句返回结果的顺序问题 .

    今天看到论坛上一个朋友的回帖内容,突然意识到自己好像从来没对SELECT语句做过任何思考,即便SELECT是平时使用最多的语句.自己建了两个测试表,内容如下: SQL> conn scott/t ...

  4. [转]printf 字符串格式化

    在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望.由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出 ...

  5. php composer使用

    Composer-PHP中用来管理依赖(dependency) 定义 composer是PHP中用来管理依赖(dependency)关系的工具.你可以在自己的项目中声明所依赖的外部工具库(librar ...

  6. 在Windows XP下手动安装Apache+MySQL+PHP环境 要点

    在整个wamp环境搭建中,本质的工作如下: 1,配置系统对php中dll文件能默认处于调用状态.在windos下,对dll文件系统默认处于调用状态的,有两种采用的方式.第一种是:把需要调用dll文件复 ...

  7. Cable master--hdu1551(二分法)

    Cable master Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...

  8. A/B的困扰

    在学会简单A+B后,在实验A/B时遇到了下面的问题. #include<stdio.h> #include<stdlib.h> int main() { int a,b; sc ...

  9. 打造阅读Linux源代码利器

    打造阅读Linux源代码利器 在Linux里阅读/编写代码一般用vi 但是碰到较大的项目时阅读源代码还是比较费力,一直用find  和 grep命令. 其实,我们自己可以打造一个阅读源代码的vim,这 ...

  10. Python 函数 切片 迭代 列表生成器

    函数 编写     定义一个函数要用def语句    def sum(i,n):   ⚠有冒号 返回多值     实际上是返回一个tuple 定义默认参数    默认参数的作用是简化调用   def ...