如何在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,而忽略表中的所有其他数据?

如何在MVC Razor中从数据表中获得一个特定的列

似乎你只是在寻找Select:

...OrderBy(s => s.SkillId).Select(s => s.SkillId);

然而,如果这将用于选择列表,无论如何,您最好从一开始就构建一个IEnumerable<SelectListItem>:

.Select(s => new SelectListItem { Value = s.SkillId.ToString(), Text = s.SkillName });