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. JavaWeb限流QPS简易框架

    Java Web利用filter实现拦截请求,统计信息.并控制单台机器QPS. /** * 网络流量控制器 */ public class TrafficFilter implements Filte ...

  2. Intent七大属性之总结

    参考<疯狂android讲义>第5章 1.Intent 用于封装程序的"调用意图",不管想启动一个Acitivity.Service还是BroadcastReceive ...

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

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

  4. 一个Java项目的学习

    1. java命令行的启动 首先是gradle build 其次是:java -Dabc.appid=1234 -classpath "a.jar:b.jar"  com.ctri ...

  5. 如何测试一个U盘

    功能测试: 1 在windows xp比较流行的操作系统上是否可以识别(装了驱动后是否可以) 2 在电脑上显示的盘符是否正确 3 总空间,可用空间,已用空间是否显示正确 4 u盘中是否可以拷入各种格式 ...

  6. QtWaitingSpinner

    https://github.com/snowwlex/QtWaitingSpinner

  7. LoadRunner 技巧之THML 与 URL两种录制模式分析

    Loadrunner的Virtual User Generator 提供人脚本的录制功能,对于初学者来说,这大大的降低了编写脚本的门槛,loadrunner提供两种录制脚本的方式:Html_based ...

  8. Virtualbox下实现Ubuntu虚拟机和win7主机文件共享(很简单,亲自试用,按此步骤一般都会成功)

    最近做一个操作系统实验,第一个实验即是实现Ubantu虚拟机与主机之间的共享. 本例用的是VirtualBox虚拟机,若使用Vmware WorkStation虚拟机则方法与下文介绍略有不同,但基本相 ...

  9. cf466A Cheap Travel

    A. Cheap Travel time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...

  10. 【具体数学 读书笔记】1.2 Lines in the Plane

    本节介绍平面划分问题,即n条直线最多把一个平面划分为几个区域(region). 问题描述: "What is the maximum number Ln of regions defined ...