包含TempData时使用where子句的正确方法? ASP NET核心

问题描述

我正在做一个项目,我试图显示基于StaffID存储的TempData评论。我使用了where子句来显示基于StaffID存储的用户TempData的特定评论

我要实现的目标是:

enter image description here

在上面的这张图片中,我对其进行了硬编码,并且我相信我的Where子句可以正常工作。我只需要知道如何在包含Where的同时正确使用TempData子句,以便它直接从StaffID数据库获取sql

下面的图片是我在不使用数据库中的硬编码值的情况下运行代码时发生的情况,因此它不起作用。如果有人知道,请帮助我。非常感谢

enter image description here

Controller code(where RevieweeID.Equals(@TempData["StaffID"]是我需要帮助的部分):

public async Task<IViewComponentResult> InvokeAsync()
{
    var applicationUserClass = _context.Review.Where(r => r.ReviewCategoryID.ToString().Equals("601C21CF-0916-4C40-B158-D7253858386F")).Where(r => r.RevieweeID.Equals(@TempData["StaffID"])).Include(r => r.ReviewCategorys).Include(r => r.Staff).Include(r => r.Staffs);
    return View(await applicationUserClass.ToListAsync());
}

解决方法

如果要在其中使用TempData,则可以使用TempData [“ xxx”]。ToString():

这是一个演示作品:

Student s = _context.Student.Where(stu => stu.Id.ToString().Equals(TempData["id"].ToString())).ToList()[0];

结果: enter image description here