OrderByDescending 与来自另一个 table(s) 的日期

OrderByDescending with a date from another table(s)

希望这个问题不会令人困惑。基本上,我正在寻找有关如何 OrderByDecending 和关系 table 中的日期的指示。我构建了一个看起来可能有效但出现错误的基本方法:

DbSortClause expressions must have a type that is order comparable. Parameter name: key

我明白这是什么意思,但我不完全确定如何使用 Linq 方法语法进行修复。

public BusinessEntities.Application GetLastUpdatedAppliction(int userID)
{
    return context.tbl_User_To_Application
                            .Where(x => x.UserID == userID)
                            .OrderByDescending
                                        (o => o.tbl_Application.tbl_ApplicationChanges
                                            .Where(oo => oo.ApplicationID == o.ApplicationID)
                                            .Select(s => s.ChangeDate))
                            .ThenByDescending(t => t.DateAdded)
                            .Select(y => new BusinessEntities.Application
                            {
                                ApplicationID = y.tbl_Application.ApplicationID,
                                ApplicationName = y.tbl_Application.ApplicationName
                            }).FirstOrDefault();
}

基本上我有一个交叉引用 table 将用户绑定到特定的应用程序(网站)然后在里面我需要嵌套到两个 tables 中以获取对应用程序的最新更改一个"ChangesDate"。所以理想情况下,这将是 return 最后更新的应用程序。然后显然填充了我的 DTO。

我仍在努力掌握 Linq 方法语法,因此非常感谢任何帮助!

此致,

泰兹·温菲尔德

如果您想在上次申请更改日期之前订购:

(...)
.OrderByDescending(o => 
   o.tbl_Application.tbl_ApplicationChanges
      .Where(ac => ac.ApplicationID == o.ApplicationID)
      .OrderByDescending(ac => ac.ChangeDate)
      .First()
      .Select(ac => ac.ChangeDate)
)
(...)