我正在尝试获取HolidayRequestForm
表中已登录员工的最新记录。
不过,根据LINQ To Entities does not recognize the method Last. Really?的建议,我想按降序排列并选择第一个。
我尝试按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();
我希望StartDate
在HolidayRequestForm
表中给出当前已登录员工的最新结果
答案 0 :(得分:3)
db.HolidayRequestForms.OrderByDescending
由于两个原因没有意义。
()
)我建议将其替换为
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
。