如何在视图中显示我的sql数据库中两个表的数据??
请帮忙。
我想在视图中使用两个不同的表来显示数据库中的这些数据。!
我在互联网上搜索过但我找不到任何可以解决我问题的方法。请帮忙。
在我看来,我对一张桌子没有任何问题。
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
}
}
这给了我一张包含我数据库中数据的表格。但我也想要我的第二张桌子。
答案 0 :(得分:1)
从两个表中加载信息并创建一个展平视图模型,其中包含两个表中的相关信息:
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);
}
答案 1 :(得分:1)
您希望实现的目标称为“视图模型”,因为您发送到视图的模型与数据库中的模型不同。通常,您会发现可能需要为与数据库不完全匹配的UI创建视图。
jgauffin显示了一个“DetailsModel”,它结合了两个数据库实体。这就像创建一个类并给它两个属性CompanyName和Username一样简单。他的代码缺少的是“DetailsModel”类的代码。您可以创建一个具有所需属性的单个实体,而不是传递两个实体。
Surjit还有一种方法可以通过使用元组而无需使用单独的View Model类。
您需要修改视图以接受元组或新的视图模型。