从MVC枚举模型中选择单个项

| 当使用使用IEnumerable的MVC 3集合时,是否有一种方法可以使小型查询用于查找单个值?我一直在尝试,但收效甚微。 我有一组包含描述和设置的设置。问题是暴露其中一个,因为每个都是唯一的。我已经尝试过这样的事情:
var appl = _service.GetSettings(id, app); //Call to service layer & repository
appl.Select(a => a.setting_value.Where(a.setting_name.StartsWith(\"Login\")));
收效甚微(除非我遗漏了一些东西)。是否可以从可枚举的集合中选择一项并将其传递给ViewBag或ViewData对象?我想做的事情如下:
var appl = _service.GetSettings(id, app); //Call to service layer & repository
ViewBag.Login = appl.Select(a => a.setting_value.Where(a.setting_name.StartsWith(\"Login\")));
并将其传递给视图,因为我现在拥有一个将单个值组合在一起的视图。 以下似乎在视图中起作用:
Application Name @Html.TextBox(\"application_name\", @Model.FirstOrDefault().app_name)
但是我不确定这是否违反关注点分离。我在这里走错了路吗?谢谢! 编辑:这就是我所需要的。以下答案使我非常接近+1 +1
ViewBag.Login = appl.Where(a => a.setting_name.StartsWith(\"Login\")).FirstOrDefault().setting_value
已邀请:
var appl = _service.GetSettings(id, app);
ViewBag.Login = appl
    .Where(a => a.setting_name.StartsWith(\"Login\"))
    .FirstOrDefault();
ViewBag.Login = appl.Select(a => a.setting_value.Where(a.setting_name.StartsWith(\"Login\"))).FirstOrDefault();
这将选择第一个与您的条件匹配的对象,并返回单个结果或null

要回复问题请先登录注册