asp.net-mvc – ASP.NET MVC实体框架关系绑定
发布时间:2020-12-16 09:53:00 所属栏目:asp.Net 来源:网络整理
导读:我正在为我的MVC4项目使用Entity Framework 5.0.这有问题.当我将db模型提供给任何视图时,控制器发送没有关系的模型 例; 我有User类和关系部门 当我在控制器中使用它时 using(context){ var user = context.Find(id); string department = user.Department.Na
我正在为我的MVC4项目使用Entity Framework 5.0.这有问题.当我将db模型提供给任何视图时,控制器发送没有关系的模型
例; 我有User类和关系部门 当我在控制器中使用它时 using(context) { var user = context.Find(id); string department = user.Department.Name; } 它在上下文中调用时工作.但是当我这样做的时候 using(context) { var user = context.Find(id); return View(user); } 并在视图中调用 Model.Department.Name 我收到了错误. 这是我的答案但不好 using(context) { var user = context.Find(id); string department = user.Department.Name; return View(user); } 当我尝试在视图中使用Model.Department.Name时,我没有错误,当我使用类作为模型时,我必须为每个关系做到这一点.这个问题有更好的解决方案吗?我希望在视图中使用所有关系而不在控制器中调用它们. 我希望你能理解我,对不起我的英语. 解决方法
在您的DbContext上,您可以使用.Include方法急切地加载您需要的关系:
context.Users.Include(u => u.Department).FirstOrDefault(u => u.Id == id); 或者如果您使用的是旧版本的实体框架,则此方法的通用版本可能不可用: context.Users.Include("Department").FirstOrDefault(u => u.Id == id); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET网络表单的Nancy路由
- asp.net-mvc – Sql Views的流畅Nhibernate映射
- [译]ASP.NET Core 2.0 网址重定向的方法
- 存储过程 – ASP Classic – Recordset对象与命令对象
- asp.net – 是否可以从ColdFusion引用.NET程序集?
- asp.net-mvc – 在ASP.NET MVC视图中使用代码隐藏
- asp.net – 如何阻止IIS解码URL
- 如何在ASP.NET应用程序中使用CSS
- asp.net – SignalR并不总是准备好后start().done()?
- asp.net-mvc – 将返回文件的长时间运行进程
推荐文章
站长推荐
热点阅读