要显示数据从两个不同的sql表在mvc
本文关键字:sql mvc 表在 两个 数据 显示 | 更新日期: 2023-09-27 18:16:37
如何在视图中显示sql数据库中两个表的数据…?
请帮助。
- 表是Profile
- 表为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
}
}
这给了我一个表的数据从我的数据库在我的视图。但我也要我的第二桌。
你想要实现的被称为"视图模型",因为你发送给视图的模型与数据库中的模型不同。很多时候,你会发现你可能需要为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);
}