C# 视图中引用不同表的引用表数据[MVC]

C# 视图中引用不同表的引用表数据[MVC],c#,asp.net-mvc,database,asp.net-mvc-5,C#,Asp.net Mvc,Database,Asp.net Mvc 5,我在同一个数据库中有两个表,其中一个称为 部分 另一个叫 Assembly 在编辑视图中,我从Parts表中获取数据。 我还需要从零件编辑视图中的Assembly表中获取特定数据。我需要获取的数据具有相同的列名 我需要使用@foreach在零件编辑视图中获取/显示此数据 下面是我正在使用的 @model webpares3.Data.Part @foreach(Model.Assembly中的var项){ 如果每个表中的列名相同,如何将部件表中的名称具体引用到零件数据中?您可以为此创建模型

我在同一个数据库中有两个表,其中一个称为
部分

另一个叫
Assembly

在编辑视图中,我从
Parts
表中获取数据。 我还需要从零件编辑视图中的
Assembly
表中获取特定数据。我需要获取的数据具有相同的
列名

我需要使用
@foreach
在零件编辑视图中获取/显示此数据

下面是我正在使用的

@model webpares3.Data.Part

@foreach(Model.Assembly中的var项){


如果每个表中的列名相同,如何将部件表中的名称具体引用到零件数据中?

您可以为此创建模型或视图模型:

public class ViewModel
{
   public Part MyPart  { get; set;}
   public Assembly MyAssembly { get; set;}      
}
然后,这就是您将传递给视图的内容:

public ActionResult Create()
{
   ViewModel model = new ViewModel();
   model.MyPart = new MyPart ()
                       {
                          ColumnName1 = "Details here",
                          ColumnName2 = 1
                       }
   model.MyAssembly = //populate your Assembly details class

   return View(model); //return your view with two classes on one class
}
现在,您可以在razor视图上执行此操作:

 @Html.DisplayFor(x => x.MyPart.ColumnName1)
 @Html.DisplayFor(x => x.MyPart.ColumnName2)
还有这个:

 @Html.DisplayFor(x => x.MyAssembly.ColumnName1)
 @Html.DisplayFor(x => x.MyAssembly.ColumnName2)

可以为此创建模型或ViewModel:

public class ViewModel
{
   public Part MyPart  { get; set;}
   public Assembly MyAssembly { get; set;}      
}
然后,这就是您将传递给视图的内容:

public ActionResult Create()
{
   ViewModel model = new ViewModel();
   model.MyPart = new MyPart ()
                       {
                          ColumnName1 = "Details here",
                          ColumnName2 = 1
                       }
   model.MyAssembly = //populate your Assembly details class

   return View(model); //return your view with two classes on one class
}
现在,您可以在razor视图上执行此操作:

 @Html.DisplayFor(x => x.MyPart.ColumnName1)
 @Html.DisplayFor(x => x.MyPart.ColumnName2)
还有这个:

 @Html.DisplayFor(x => x.MyAssembly.ColumnName1)
 @Html.DisplayFor(x => x.MyAssembly.ColumnName2)

我已经这样做了,但是当我执行
@foreach(model.MyAssembly.Name中的var model)时,我仍然在视图中得到一个错误“Part不包含“我的程序集”的定义”
我想澄清一下,是MyAssembly。命名一个类还是一个可枚举或列表?因为如果它只是一个模型而不是ienumerable,就不需要迭代它。它是数据库列中的一个条目,所以我相信它是一个类。我是MVC新手哈哈。不过,我还是遇到了一个错误,即“Part不包含当我执行
@foreach(model.MyAssembly.Name中的var model)
时,视图中的“我的程序集”我想澄清一下,它是MyAssembly.Name还是MyAssembly.Name?命名一个类或一个枚举或列表?因为如果它只是一个模型而不是ienumerable,则无需重复它。它是数据库列中的一个条目,所以我相信它是一个类。我对MVC很陌生。