加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 实体框架4.1 – 如何“强制”EF转到数据库而不是使用图形

发布时间:2020-12-15 18:06:34 所属栏目:百科 来源:网络整理
导读:这是场景,我有一个网站,在单个HTTP请求(HTTP POST)中,我需要执行以下操作: 抓住一个物体(让我们说“标签”) 保存一些其他对象(让我们说“问题”) 获
这是场景,我有一个网站,在单个HTTP请求(HTTP POST)中,我需要执行以下操作:

>抓住一个物体(让我们说“标签”)
>保存一些其他对象(让我们说“问题”)
>获取“标签”的新副本.
>重定向到另一个页面,需要一个新的“标签”副本.

在幕后,2)涉及影响“标签”数据的数据库端触发器.

因此,当我做3)时,EF从步骤1)拉出对象的相同副本,因为它在图形/内部存储器中(例如相同的连接/上下文)

我需要一个“新鲜”的对象副本.

在过去,我使用了Detach,然后执行EF查询和从DB获取的最新对象.

但我本身无法访问该对象(我有一个DTO,它从我的存储库返回),所以我没有任何东西可以传递给Detach方法.

有什么方法可以说:

var fresh = db.Tags.Find(1,ignoreGraph: true)

或者还有另一种选择吗?

如上所述,我在实体框架4.1,C#4(和ASP.NET MVC 3)

我现在能看到的唯一解决方案是将查询字符串参数传递给下一页,然后获取新副本(因为它是新的上下文,新图等).

解决方法

找到我的答案,我想:
Context.Entry<T>(entity).Reload()

现在尝试……

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读