如何在Linq查询不同类型的操作中实现模型在视图中?

时间:2015-07-16 08:38:54

标签: asp.net-mvc linq

您好我在视图代码中面临问题

控制器

public ActionResult Testing()

    {
        //var res = (from empname in db.UserMasters
        //              select empname.EmployeeId).Distinct().ToList();
        var res = db.UserMasters.Select(x=>x.EmployeeId).Distinct().ToList();
        return View(res);
    }

查看

@model IEnumerable<TaskShedular.Models.UserMaster>
    @{
        ViewBag.Title = "Testing";
    }
    @foreach (var item in Model)
    {
        <li><a href="#">@item.EmployeeId</a></li>
    }

错误

Error ScreeShot

1 个答案:

答案 0 :(得分:1)

在您的查询中添加ToList(传递IEnumerable<T>而不是DbQuery<T>更为常见)

var res = db.UserMasters.Select(x=>x.EmployeeId).Distinct().ToList();

并在视图中更改

@model IEnumerable<string>

如果您只选择EmployeeId,则会收到string的集合,而不是TaskShedular.Models.UserMaster的集合

然后

@foreach (var item in Model)
    {
        <li><a href="#">@item</a></li>
    }