我是 MVC 的新手,所以如果我的问题听起来很愚蠢或太简单,请原谅。我正在使用实体数据模型进行数据库访问。所以在我的模型文件夹中,我添加了一个 EDMX 文件,我可以从我的控制器和强类型视图中访问模型类。当我在控制器中访问多个表时会出现问题,例如
如果我的数据库中有以下表格:
Departments(DepartmentID, DepartmentName, DepartmentPhone)
Insurances(InsuranceID, InsuranceName, InsuranceAddress)
Employees(EmployeeID, EmpFName, EmpLName, DepartmentID, InsuranceID)
我想显示一个员工列表以及他们的部门和保险信息。
在我的控制器的操作方法中,我使用 EDM 访问数据库并以匿名类型获取信息:
using (var context = new MyEntities())
{
var model = (from d in context.Departments
join e in context.Employees on d.DepartmentID equals e.DepartmentID
join I in context.Insurances on I.InsuranceID equals e.InsuranceID
select new
{
DepartmentID = d.DepartmentID,
EmployeeID= e.EmployeeID,
EmpFName= e.EmpFName,
EmpLName= e.EmpLName,
DepartmentName= d.DepartmentName,
InsuranceName= I.InsuranceName
}).ToList();
return View(model);
}
我的模型文件夹中没有这种匿名类型的类,因此我无法创建强类型视图。那么将此列表传递给视图的最佳方法是什么?如果集合太大,使用 viewbag 将是一种过度杀伤力。为这个匿名类创建一个新模型听起来不正确,因为如果我在控制器操作方法中更改我的选择,它需要一直更新。
欢迎所有建议。我尝试查看有关 SO 的其他问题,但找不到任何相关内容。
谢谢。