我有三个名为Material Group,Material Class,Material Type的表。 Group和Class之间以及Class和Type之间存在父子关系,但Group和Type表之间没有直接关系。如何在asp.net中显示多个表中的数据MVC
下面是控制器的当前代码:
变种ctbl_MaterialType = db.ctbl_MaterialType.Include(C => c.ctbl_MaterialClass).INCLUDE(C => c.stbl_Supplier).ToList();
return View(ctbl_MaterialType);
由于没有直接关系,我无法包含组表。即使我尝试下面的代码,但给我的错误:
var ctbl_MaterialType = (from mt in db.ctbl_MaterialType join mc in db.ctbl_MaterialClass on mt.ID_ctbl_MaterialClass equals mc.ID_ctbl_MaterialClass
where mt.ID_ctbl_MaterialClass == mc.ID_ctbl_MaterialClass
join mg in db.ctbl_MaterialGroup on mc.ID_ctbl_MaterialGroup equals mg.ID_ctbl_MaterialGroup
where mc.ID_ctbl_MaterialGroup == mg.ID_ctbl_MaterialGroup
join ms in db.stbl_Supplier on mt.ID_stbl_Supplier equals ms.ID_stbl_Supplier
where mt.ID_stbl_Supplier == ms.ID_stbl_Supplier select new {
MaterialGroup = mg.MaterialGroup,
MaterialClass = mc.MaterialClass,
MaterialType = mt.MaterialType,
MaterialTypeAlias= mt.MaterialTypeAlias,
Supplier = ms.Supplier
});
return View(ctbl_MaterialType);
我怎么能包括组表,这样我可以考虑用它来显示?
加入可能是你最好的选择。 请参阅:https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/join-clause – DaniDev
我的连接是正确的,但viewmodel是关键。我实现了这一点,它正常工作。 –