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

我已经完成了一个使用存储过程使用实体框架显示连接表值的项目。我已经完成了所有基本过程,当从我的模型调用它时,它成功返回了对象结果,

现在我的问题是我无法将结果模型从具有复杂返回类型的存储过程转换为我的视图模型。有人可以帮我解决这个问题吗?

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

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

http://img1.mukewang.com/6497d31c0001a03a06510538.jpg

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

http://img4.mukewang.com/6497d3250001bc7d05420653.jpg

显示自动生成的结果。

http://img2.mukewang.com/6497d3300001dac306540412.jpg

这就是我想做的

http://img.mukewang.com/6497d33c0001b34105930523.jpg

这就是我收到的错误

http://img4.mukewang.com/6497d3460001394202750228.jpg

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

http://img.mukewang.com/6497d350000165e204740130.jpg

存储过程查询(Mysql)

http://img1.mukewang.com/6497d3590001479305460166.jpg


慕运维8079593
浏览 136回答 1
1回答

holdtom

employee和的模式employee_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对象是不必要的(除非您想对其进行其他一些过滤):listEmployeeList = // the above code with .ToList();
打开App,查看更多内容
随时随地看视频慕课网APP