首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用代码优先实体框架在ASP.Net MVC3中重新加载多个导航属性

如何使用代码优先实体框架在ASP.Net MVC3中重新加载多个导航属性
EN

Stack Overflow用户
提问于 2011-08-19 07:22:33
回答 2查看 550关注 0票数 2

我正在尝试在ASP.Net MVC3和POCO类中使用。当涉及到的实体有一个涉及多到多个关系的DbUpdateConcurrencyException时,我目前正在考虑如何从一个NavigationProperty中恢复。

假设该实体名为Player,并具有一个名为Clubs的导航属性。一个球员可以成为许多俱乐部的成员,俱乐部也可以有很多成员。

因此,假设一个用户正在编辑(当然,这是一个web应用程序),他的俱乐部成员身份管理员取消了他的一些俱乐部成员资格。在调用SaveChanges()时,用户代码将正确抛出一个DbUpdateConcurrencyException

我现在要做的是重新加载球员实体,包括他的俱乐部。用dbContext.Entry(player).Reload()重新加载球员是非常容易的,但是这并不能在管理员的干预下将俱乐部导航属性重新填充到他可用的俱乐部中。

请帮帮我!

EN

回答 2

Stack Overflow用户

发布于 2011-08-20 12:30:00

我以前也遇到过类似的问题,我为我的案例找到的最好/最简单的解决方案--考虑到EF如何决定缓存和重新加载实体--是创建一个全新的DbContext实例并使用该实例重新加载数据。

票数 1
EN

Stack Overflow用户

发布于 2012-01-29 19:16:34

这应该能行。

代码语言:javascript
复制
dbContext.Entry(player).Reference(a => a.Clubs).Load()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7118236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档