List<Attachment> imgList = (from a in ZQSDWEBEntities.Attachment
                                        join m in
                                            (from t in ZQSDWEBEntities.MessageDetail
                                             where (id).Contains(t.ParentID)
                                             orderby t.MessageDate descending, t.MessageStart descending
                                             select t)
                                            on a.MessageId equals m.MessageId
                                        select a
                                          ).ToList();

中间这部分没生效

改成这样就可以了

//最新10条数据(按MessageStart降序排序)
            var topMessage = (from t in ZQSDWEBEntities.MessageDetail
                              where (id).Contains(t.ParentID)
                              orderby t.MessageStart descending, t.MessageDate descending
                              select t).Skip(0).Take(10);
            //最新10条数据的图片
            List<Attachment> imgList = (from a in ZQSDWEBEntities.Attachment
                                        join m in topMessage
                                            on a.MessageId equals m.MessageId
                                        select a
                                          ).ToList();

生成  sql:

SELECT
[Extent1].[AttachmentId] AS [AttachmentId],
[Extent1].[Parth] AS [Parth],
[Extent1].[ParthTitle] AS [ParthTitle],
[Extent1].[MessageId] AS [MessageId],
[Extent1].[remark] AS [remark],
[Extent1].[Type] AS [Type]
FROM  [dbo].[Attachment] AS [Extent1]
INNER JOIN  (SELECT TOP (10) [Filter1].[MessageId] AS [MessageId], [Filter1].[MessageDate] AS [MessageDate], [Filter1].[MessageStart] AS [MessageStart]
 FROM ( SELECT [Extent2].[MessageId] AS [MessageId], [Extent2].[MessageDate] AS [MessageDate], [Extent2].[MessageStart] AS [MessageStart], row_number() OVER (ORDER BY [Extent2].[MessageStart] DESC, [Extent2].[MessageDate] DESC) AS [row_number]
  FROM [dbo].[MessageDetail] AS [Extent2]
  WHERE [Extent2].[ParentID] IN (48,210,211)
 )  AS [Filter1]
 WHERE [Filter1].[row_number] > 0
 ORDER BY [Filter1].[MessageStart] DESC, [Filter1].[MessageDate] DESC ) AS [Limit1] ON [Extent1].[MessageId] = [Limit1].[MessageId]

LINQ 联合查询的更多相关文章

  1. c#Linq联合查询

    public void Test2() { var queryResult1 = from e in empArray from l in empLevelArray select new { e, ...

  2. LINQ(数据查询)

    如果只有空的构造函数,想要对字段进行初始化,可以直接在构造函数后面加上{属性名=值,属性名=值};属性与属性之间用,分割开 //查询所有武学级别大于8的武林高手 //var res = new Lis ...

  3. linq中如何实现多个条件的联合查询

    目前接触处理数据这一块比较多,在处理内存中的数据源的时候我一般使用的是linq,linq使用起来像sql语句一样,用法简单,功能强大. 最近需要实现一个从两个不同的文件读取不同的数据,然后根据这两个数 ...

  4. 利用 c# linq 实现跨数据库的联合查询

    有个需求就是,我们要查询的信息分布在两个不同的数据库中,通过外键相互关联起来,然后返回datatable在前端展示内容. 根据需求我们可以考虑c#的linq 先在从不同的数据中获取相关的datatab ...

  5. Linq和EF 做 单一条件查询 和 复合条件 查询 以及 多表 联合查询 示例

    单一条件查询: var table2Object = (from t1 in db.table1 join t2 in db.table2 on t1.id equals t2.id select t ...

  6. MVC5+EF6简单实例---以原有SQLServer数据库两表联合查询为例

    有二三年没写代码了,**内的工作就是这样,容易废人!看到园子里这么多大侠朝气蓬勃的,我想也要学点东西并和大家分享,共同进步!快乐每一天,进步每一天!言归正传! 通过最近一段时间对MVC5.EF6的学习 ...

  7. EF联合查询的新用法

    用EF很多年了,做联合查询时,只知道linq和lambda两种语法,今天朋友发了一个链接,打开看后发现是EF内置的新的关于联合查询的方法,赶紧抄录下来,以备后用. 现在先把这几种方法,各写一个例子,便 ...

  8. Linq 标准查询操作符三

    本文介绍了LINQ标准查询操作符.没有这些操作符,LINQ就不会存在.本文为理解这些操作符的功能提供了很好的基础.了解它们将会很有帮助,因为LINQ的各种Provider都是基于这些操作符来完成各自丰 ...

  9. Mybatis.net与MVC入门配置及联合查询动态SQL拼接和简单事务

    第一次学习Mybatis.net,在博客园也找到好多资料,但是在配置成功之后也遇到了一些问题,尤其是在动态SQl拼接时候,这里把遇到的问题还有自己写的一个Demo贴出来,希望能帮到新手,有不适合的地方 ...

随机推荐

  1. map——映射(message.cpp)

    信息交换 (message.cpp) [题目描述] Byteland战火又起,农夫John派他的奶牛潜入敌国获取情报信息. Cow历尽千辛万苦终于将敌国的编码规则总结如下: 1 编码是由大写字母组成的 ...

  2. Java并发编程之volatile变量

    volatile提供了弱同步机制,用来确保将变量更新通知到其它线程.volatile变量不会被缓存在寄存器中或者对其它处理器不可见的地方,因此在读取volatile变量时总会返回最新写入的值.可以想象 ...

  3. C#生成缩略图的方法

    1.需要添加应用System.Drawing.dll 2.命名空间 using System.IO; using System.Drawing; using System.Drawing.Imagin ...

  4. 【搜索引擎Jediael开发笔记1】搜索引擎初步介绍及网络爬虫

    详细可参考 (1)书箱:<这就是搜索引擎><自己动手写网络爬虫><解密搜索引擎打桩实践> (2)[搜索引擎基础知识1]搜索引擎的技术架构 (3)[搜索引擎基础知识2 ...

  5. jquery widget开发——核心框架

    框架代码: $.widget("myns.myplugin", { //默认参数 options: { }, //初始化,控件生命周期内只运行一次 _init: function ...

  6. PHP基础温习之echo print printf sprintf print_r var_dump的用法与区别

    一.echoecho() 实际上不是一个函数,是php语句,因此您无需对其使用括号.不过,如果您希望向 echo() 传递一个以上的参数,那么使用括号会发生解析错误.而且echo是返回void的,并不 ...

  7. FTP配置参数

    格式 vsftpd.conf 的格式非常简单,每行要么是一个注释,要么是一个指令.注释行以#开始并被忽略掉.指令行格式如下: 配置项=参数值 很重要的一点是,这个格式里不存在任何空格. 默认的,每一个 ...

  8. Leetcode算法刷题:第14题 Longest Common Prefix

    Longest Common Prefix 题目 给予一个列表,元素为字符串,写一个程序找出最长公共前缀 解题思路 先比较两个字符串,如果第一个字符不一样,则返回空值,比较完成后,用这个公共字符串和下 ...

  9. Linux fdisk命令参数及用法详解---Linux磁盘分区管理命令fdisk

    fdisk 命令 linux磁盘分区管理 用途:观察硬盘之实体使用情形与分割硬盘用. 使用方法: 一.在 console 上输入 fdisk -l /dev/sda ,观察硬盘之实体使用情形. 二.在 ...

  10. Play Apple(博弈)

    Problem 1604 - Play Apple Time Limit: 1000MS   Memory Limit: 65536KB    Total Submit: 434  Accepted: ...