如何在MVC Razor中将一个特定的列从数据表导入到模型中

时间:2015-07-29 19:33:46

标签: c# asp.net-mvc asp.net-mvc-4 razor model-view-controller

我想通过SkillId从数据库中获取员工给自己评定的所有技能。我目前将评级表中的所有字段都存储在模型中,但是只想获得SkillId,但它告诉我它的评级不包含SkillId的定义。

model.EmployeeRatings = db.Ratings.Where(r => r.EmployeeId == User.Identity.Name.Remove(0, 8))
                                  .OrderBy(s => s.SkillId);

(这是由用户的EmployeeId存储评级表中的所有字段)

我可以通过将它放在视图的foreach循环中并获取所有SkillId但是希望将这些数据存储在模型中以便我可以轻松地将其放入视图中的HTML.DropDownListFor()中来实现

是否可以从模型中的Ratings表中仅获取SkillId并省略表中的所有其他数据?

1 个答案:

答案 0 :(得分:1)

好像你只是在寻找Select

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

但是,如果要将其用于选择列表,无论如何,您也可以从一开始就构建IEnumerable<SelectListItem>

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