要显示数据从两个不同的sql表在mvc

本文关键字:sql mvc 表在 两个 数据 显示 | 更新日期: 2023-09-27 18:16:37

如何在视图中显示sql数据库中两个表的数据…?

请帮助。

  1. 表是Profile
  2. 表为Company

我想要两个不同的表在我的视图显示这些数据从数据库。

我在互联网上搜索了,但我找不到任何可以解决我的问题。请帮助。

我认为一个表没有问题。

public ActionResult Profiler()
{
    using (var dc = new Models.DataDataContext()) // Opretter objekt af model(Databasen)
    {
        return View(dc.Profils.OrderByDescending(a => a.Nu).ToList()); // Returner en liste med tabellets indhold
    }
}

这给了我一个表的数据从我的数据库在我的视图。但我也要我的第二桌。

要显示数据从两个不同的sql表在mvc

你想要实现的被称为"视图模型",因为你发送给视图的模型与数据库中的模型不同。很多时候,你会发现你可能需要为UI创建一个与数据库不完全匹配的视图。

jgauffin显示了一个"DetailsModel",它结合了两个数据库实体。这就像创建一个类并给它两个属性CompanyName和Username一样简单。他的代码缺少的是"DetailsModel"类的代码。而不是传递两个实体,你创建一个单一的实体,拥有所有你需要的属性。

Surjit也有一个方法可以做到这一点,而不需要使用Tuple来使用单独的视图模型类。

您需要修改您的视图以接受Tuple或您的新视图模型。

从两个表中加载信息,并创建一个平面视图模型,其中包含两个表中的相关信息:

public ActionResult Details(int id)
{
    var profile = _profileRepos.Get(id);
    var company = _companyRepos.Get(profile.CompanyId);
    var model = new DetailsModel {
        CompanyName = company.Name,
        UserName = profile.FullName
    };
    return View(model);
}