使用特定列MVC4从数据库获取数据

时间:2014-02-03 02:43:12

标签: c# .net asp.net-mvc asp.net-mvc-4

我是MVC 4的新手。请帮助从MVC 4中的数据库中获取数据。我不知道如何从我的视图中访问它。

这是我的代码:

public ActionResult Index()
{
    var qry = from q in db.SystemUsers
              select new
              {
                  q.Username,
                  q.Password,
                  q.FirstName,
                  q.LastName,
                  q.MiddleName
              };

    return View(qry);
}

1 个答案:

答案 0 :(得分:2)

您正在寻找的是ViewModel。

这是一个包含渲染视图所需数据的对象。它们是有益的,因为它们允许在视图中使用强类型值。这有助于单元测试,智能感知,将错误和运行时错误保持在最低限度,并通过确保仅向他们传递所需数据来强迫您了解您的视图。

在您的情况下,可以定义如下:

public struct SystemUsersIndexViewModel
{
    public string UserName;
    public string Password;
    public string FirstName;
    public string LastName;
    public string MiddleName;
}

要使用此功能,您需要执行以下操作:

public ActionResult Index()
{
    var qry = from q in db.SystemUsers
              select new SystemUsersIndexViewModel
              {
                  UserName = q.Username,
                  Password = q.Password,
                  FirstName = q.FirstName,
                  LastName = q.LastName,
                  MiddleName = q.MiddleName
              };

    return View(qry);
}

在您看来,您可以通过执行以下操作让MVC知道您正在使用此ViewModel:

@model IEnumerable<SystemUsersIndexViewModel>