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. 《JavaScript Dom编程艺术》用例总结

    页首HTML 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  2. [汇编语言]-第二章DEBUG

    Debug查看CPU各种寄存器中得内容,内存的情况和在机器码级跟踪程序的运行. 1- 进入Debug xp 开始-运行 cmd 输入 debug 2- Debug功能 r 查看,改变CPU寄存器的内容 ...

  3. SQL Server 对象

    第一项:重命名对象 execute sp_rename @objname='Nums',@newname ='Numbers',@objtype ='object'; go 这里要特别小心   @ne ...

  4. C++ new和delete实现原理——new和delete最终调用malloc和free

    new和delete最终调用malloc和free,关于malloc和free实现原理参见这篇文章: http://blog.csdn.net/passion_wu128/article/detail ...

  5. QT:多线程HTTP下载文件

    这里的线程是指下载的通道(和操作系统中的线程不一样),一个线程就是一个文件的下载通道,多线程也就是同时开起好几个下载通道.当服务器提供下载服务时,使用下载者是共享带宽的,在优先级相同的情况下,总服务器 ...

  6. 《how to design programs》9.3处理任意长度的表

    假定一个玩具商店要把货物库存清单存放在计算机之中,这样,店里的员工就可以快速判断商店里是否还有某种玩具存货.简言之,商店需要一个能够检查库存是否含有玩具'doll 的函数contains-doll?, ...

  7. Hbase深入学习(一) 什么是hbase

    Hbase深入学习(一) 什么是hbase 一.hbase是什么?      首先hbase是一个在Hadoop的HDFS分布式存储系统上介于映射(key/value)的nosql的分布式数据库:它通 ...

  8. CentOS bridge br0 kvm libvirt-xml

    1,kvm bridge br0配置文件内容实例: ifcfg-em1配置文件内容Example: DEVICE=em1 Bridge=br0 TYPE=Ethernet onboot=yes NM_ ...

  9. JAVA程序猿面试题汇总

    (此话题将不断更新,请留意) 第一,谈谈final, finally, finalize的差别. final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承.finally是异常 ...

  10. C#版QQTea加密

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Wind ...