簡體   English   中英

ASP.NET MVC返回表中已登錄用戶的最新條目

[英]ASP.NET MVC Return the latest entry in table for the logged in user

我正在嘗試在HolidayRequestForm表中獲取已登錄員工的最新記錄。

但是,基於LINQ To Entities的建議, 無法識別方法Last。 真? 我想按降序排列並選擇第一個。

我嘗試添加orderbydescending,但出現錯誤“錯誤3'System.Data.TypedTableBaseExtensions.OrderByDescending(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer)”是一種“方法”,其中在給定的上下文中無效

我放在錯誤的地方了嗎?

var SD = (from c in db.HolidayRequestForms.OrderByDescending
                        where (c.Employee.Email == name) && (c.Employee.EmployeeID == c.EmployeeID)
                        select c.StartDate);

        DateTime StartDate = SD.LastOrDefault();

我希望StartDateHolidayRequestForm表中提供當前登錄員工的最新結果

db.HolidayRequestForms.OrderByDescending

由於兩個原因而沒有意義。

  1. 這是一個方法,需要調用(即在其后有()
  2. 你需要告訴它通過什么命令

我建議將其替換:

var SD = (from c in db.HolidayRequestForms where (c.Employee.Email == name) && (c.Employee.EmployeeID == c.EmployeeID)
                        select c.StartDate).OrderByDescending(z => z);

要么:

var SD = db.HolidayRequestForms
    .Where(c => c.Employee.Email == name && c.Employee.EmployeeID == c.EmployeeID)
    .OrderByDescending(z => z.StartDate)
    .Select(y => y.StartDate);

您還將需要使用FirstOrDefault而不是LastOrDefault

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM