C# 外部 LINQ 应用

标签 c# .net linq outer-join

如何在 LINQ 中实现外部应用?我有点问题。

这是我正在使用的 SQL 查询。

SELECT u.masterID
      ,u.user
      ,h.created
FROM dbo.Users u
OUTER APPLY (SELECT TOP 1 * FROM UserHistory h where h.masterID = u.masterID ORDER BY created DESC) h

最佳答案

from u in Users 
join UserHistory on u.masterID equals h.masterID into h 
select new {
  u.masterID,
  u.user,
  Created = h.Select(x => x.created).OrderByDescending(c => c).FirstOrDefault()
}

或者,通过关联:

from u in Users
let created = u.UserHistories.Select(x => x.created).OrderByDescending(c => c).FirstOrDefault()
select new
{
  u.masterID,
  u.user,
  Created = created
}

关于C# 外部 LINQ 应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3014362/

相关文章:

c# - 如何在一行中编写以下lambda表达式?

c# - 如何计算传输速率speed kb/s SOCKETS c#

c# - FirstOrDefault 抛出异常而不是 null

c# - LINQ 查询仅计算某些值

c# - 4 点和椭圆

c# - OleDB 选择语句

.net - 如何解决 “Cross-thread operation not valid”问题?

.net - 当窗体没有焦点时激活 ContextMenuStrip

c# - 在 C# 中显示分层数据

c# - 使用 P/Invoked GlobalSize 时堆已损坏