所以,情况是这样的——
- 我调用 AddtoObject() 在数据库中插入一个项目,然后调用 SaveChanges()。
- 然后,我调用存储过程来更新当前插入的记录。
- 然后,我再次调用 Save Changes()。
- 当我查询数据库时它具有正确的更新值,但是实体框架
上下文没有更新的值..第一次..每当我刷新页面时它都会获取该值..但第一次它永远不会获取更新的值。
那么有人遇到过类似的问题吗?我在这里做错了什么?
问题是 EF 不知道你的存储过程在做什么,怎么可能呢?这项工作是在 SQL Server 上完成的。因此,在存储过程执行后,您需要要求 EF 通过发出更新该(和其他相关)实例Refresh() http://msdn.microsoft.com/en-us/library/bb896255.aspx call:
context.Refresh(RefreshMode.StoreWins, myObject);
The StoreWins
告诉框架用数据库中的值覆盖实例中的值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)