在我的ASP.NET MVC应用程序中,我有3个表: 员工(id,name,surname,departmentId,regionId) 部门(身份证,姓名) 区域(id,名称)
我在创建视图中需要一个表单,我将在其中输入员工的姓氏+选择列表,其中包含部门(名称)+带有区域(名称)的选择列表
所以我的ViewModel看起来像这样:
public class EmployeeVM
{
public int EmployeeId { get; set; }
public string EmployeeSurname { get; set; }
public int RegionId { get; set; }
public int DepartmentId { get; set; }
public IEnumerable<SelectListItem> regions { get; set; }
public IEnumerable<SelectListItem> departments { get; set; }
}
获取存储库中的Employees方法(类似区域和部门):
public IQueryable<Employee> GetEmployees()
{
_db.Database.Log = message => Trace.WriteLine(message);
var employees = _db.Employees.AsNoTracking();
return employees;
}
控制器中的LINQ:
var employees = _repo.GetEmployees();
var regions = _repo.GetRegions();
var departments = _repo.GetDepartments();
IEnumerable<EmployeeVM> vm =
from employee in employees
join region in regions
on employee.regionId equals region.Id into something
select...
并且有两个问题:
这是我的VM的正确声明吗?
如何在“......”之后编写linq语法或者它已经不好了?