Material Group、Material Class、Material Typeという3つのテーブルがあります。 グループとクラス、クラスとタイプの間に親子関係がありますが、グループとタイプテーブルの間には直接の関係はありません。asp.netのビューで複数のテーブルのデータを表示する方法MVC
以下コントローラの現在のコードである:
VAR ctbl_MaterialType = db.ctbl_MaterialType.Include(C => c.ctbl_MaterialClass).INCLUDE(C => c.stbl_Supplier).ToList();
リターンビュー(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
私の結合は正しいが、ビューモデルが重要だった。私はそれを実装し、それは適切に動作します。 –