C# 在ASP.net MVC实体框架中,如何在一个视图中从两个表合并后显示记录
我想在连接两个表后显示记录,并将其显示在视图上。我最近开始使用MVC实体框架,但不知道如何操作。一张表为员工,另一张表为部门: 系C# 在ASP.net MVC实体框架中,如何在一个视图中从两个表合并后显示记录,c#,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,razor,C#,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,Razor,我想在连接两个表后显示记录,并将其显示在视图上。我最近开始使用MVC实体框架,但不知道如何操作。一张表为员工,另一张表为部门: 系 Dept_id Emp_id Dept_Name Salary 雇员 Emp_id Emp_Name Emp_Address Emp_Contact 我想在单个视图(即EmployeeDetails)中显示特定的员工姓名、地址、联系人、工资和部门详细信息。我以前曾致力于从单个表中检索特定记录,如下所示 public ActionResult Index(int
Dept_id
Emp_id
Dept_Name
Salary
雇员
Emp_id
Emp_Name
Emp_Address
Emp_Contact
我想在单个视图(即EmployeeDetails)中显示特定的员工姓名、地址、联系人、工资和部门详细信息。我以前曾致力于从单个表中检索特定记录,如下所示
public ActionResult Index(int id)
{
var query = dbquery.Employee.First(c => c.Emp_id == id);
return View(query);
}
感谢您的回答……您应该使用以下查询语法
var query= (from x in dbquery.Employee join y in dbquery.Department on x.Emp_id equals y.Emp_id
where x.Emp_id==id select new {x.Emp_id, x.Emp_name,x.Emp_Address,x.Emp_Contact, y.dept_id,y.dept_name,y.salary}).ToList(); return View(query);
它将从两个表中获取数据。现在在视图中使用以下循环
@foreach(var item in Model)
{
<li>item.Emp_Id</li>
<li>item.Emp_Name</li>
<li>item.Emp_Address</li>
<li>item.Emp_Contact</li>
<li>item.dept_id</li>
<li>item.dept_name</li>
<li>item.salary</li>
}
@foreach(模型中的变量项)
{
item.Emp_Id
item.Emp_名称
item.Emp_地址
item.Emp_联系人
项目.部门id
item.dept\u名称
项目.薪金
}
你最好为这些属性设计一个模型类,并用这个模型绑定你的视图对不起,我不太理解你的问题。您在设计视图或构建数据时有问题吗。如果是第二个,我建议创建一个ViewModel,其中包含需要显示的所有数据并将其发送到视图。我希望在视图中显示两个表中的数据。感谢您的回答。。。我想知道它是否将从表中提取特定记录或整个记录列表。它将提取所有在ActionMethod中作为参数给定id的记录。如果id在数据库中是唯一的,那么它肯定只会获取一条记录。它正在提取记录,但是属性在视图中是不可访问的,我使用了@model IEnumerablet。我得到的错误是传入字典的模型项的类型是“System.Collections.Generic.List
1[f_u\u AnonymousType1
6[System.Int32,System.String,.'System.Collections.Generic.IEnumerable`1[MvcApp.Models.dbEntities]“。尝试创建一个属性为emp_id、name、address、contact、deptid、deptname和salary的模型类。假设它是empinfo类,然后在控件中创建该类的列表,循环查询结果并初始化该数组,然后发送到视图,并在视图中编写这一行@model list。希望它能起作用。”