如何在 asp .net MVC 5 中将对象结果模型转换为自定义视图模型

How to Convert object result model to a custom view model in asp .net MVC 5

我已经完成了一个项目,使用存储过程显示使用 entity framework 的连接 table 值。 我已经完成了所有基本程序,并且在从我的模型中调用它时它成功地 return 对象结果,

现在我的问题是我无法将该结果模型从复杂 return 类型的存储过程转换为我的视图模型。 谁能帮我解决一下。

我在下面附上了我的项目工作,

这是 ADO .net 实体模型自动生成的上下文

模型浏览器功能导入中的编辑功能

显示自动生成的结果。

这就是我想要做的

这就是我遇到的错误

这就是我的视图模型的组成方式

存储过程查询(Mysql)

正如 OP 在评论中提到的,employeeemployee_details 的架构类似于:

public class employee
{
    public string Name {get;set;}
    public string Department {get;set;}
}

public class employee_details
{
    public string Address {get;set;}
    public string Mobile {get;set;}
}

因此,在应用映射后,您的代码将类似于:

var query = objEmployee.sp_display().Select(s=> new ViewModel{
employees = new employee{
 Name = s.Name //change the s.Name to the property name coming from your SP(if different)
 Department = s.Department
},
employee_detail = new employee_detail{
  Address = s.Address,
  Mobile = s.Mobile
}}).ToList()

或者最好删除 query 对象并使用 listEmployeeList 因为此列表本身也引用 ViewModel 所以 query 对象是 un-necessary(除非你想对其进行一些其他过滤) :

listEmployeeList = // the above code with .ToList();