如何在MVC Razor中从数据表中获得一个特定的列
本文关键字:一个 MVC Razor 数据表 | 更新日期: 2023-09-27 18:05:38
我想从SkillId的数据库中获取员工给自己打分的所有技能。目前,我将Ratings表中的所有字段都存储在模型中,但我只想取出SkillId,但它告诉我,它的Rating不包含SkillId的定义。
model.EmployeeRatings = db.Ratings.Where(r => r.EmployeeId == User.Identity.Name.Remove(0, 8))
.OrderBy(s => s.SkillId);
(这是根据用户的EmployeeId在Ratings表中存储所有字段)
我可以通过将其放在视图上的foreach循环中并获得所有skill来做到这一点,但希望将这些数据存储在模型中,以便我可以轻松地将其放入视图中的HTML.DropDownListFor()中。
是否有可能只从模型中的Ratings表中获取SkillId,而忽略表中的所有其他数据?
似乎你只是在寻找Select
:
...OrderBy(s => s.SkillId).Select(s => s.SkillId);
然而,如果这将用于选择列表,无论如何,您最好从一开始就构建一个IEnumerable<SelectListItem>
:
.Select(s => new SelectListItem { Value = s.SkillId.ToString(), Text = s.SkillName });