zoukankan      html  css  js  c++  java
  • LINQ 联合查询

        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]

  • 相关阅读:
    ps -aux命令详解
    Docker报错 WARNING: IPv4 forwarding is disabled. Networking will not work.
    记一次线上系统故障(文件句柄引起)
    gitlab 403 forbidden 报错解决
    Nginx内置变量以及日志格式变量参数详解
    报错:curl: (56) Recv failure: Connection reset by peer
    批处理文件 bat 后台运行
    CriminalIntent程序中Fragment相关内容
    利用Retrofit, RxJava获取网络内容
    ActionBar ShareActionProvider
  • 原文地址:https://www.cnblogs.com/520cc/p/3234791.html
Copyright © 2011-2022 走看看