Silverlight(MVVM, Prism) + WCF 数据服务 + Context.UpdateObject = Context 不跟踪实体

发布于 2024-10-31 00:28:26 字数 401 浏览 6 评论 0原文

Silverlight 4 与 Prism(MVVM 模式)。 我正在构建一个过滤器,它是来自 WCFDataService(实体框架)的数据类型。我从上下文中获取它,然后对属性进行更改并调用 Context.UpdateObject(filter); 我得到了可怕的“上下文不跟踪实体”。

因此,我在调用更新方法之前添加了一个 try/catch 来执行此操作: context.AttachTo("Filters", f); 这适用于从未提前从数据库中提取的项目,但在上下文已知的对象(最近使用的)上出现“具有相同资源 Uri 的不同实体”而失败。

那么是哪一个呢?一方面它已经在跟踪它,但另一方面它却没有?我希望能够再次从 context/db 中提取它,但在 Silverlight 中一切都是异步的。我也会和现在一样。

有想法吗?

Silverlight 4 with Prism (MVVM pattern).
I'm building a filter which is a datatype from the WCFDataService(Entity Framework). I get it from the context, then make a change to an attribute and call Context.UpdateObject(filter);
I get the dreaded "Context not tracking entity".

So I add in a try/catch that does this before calling the update method: context.AttachTo("Filters", f);
This works for items that were never pulled from the db ahead of time, but fails with "different entity with the same resource Uri" on objects already known to the context (recently used).

So which is it? On one hand it's already tracking it, then on the other its not? I would love to be able to just pull it from the context/db again, but in Silverlight everything is async. I would be in the same boat I am in now.

Ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一念一轮回 2024-11-07 00:28:26

我犯了传递相同数据上下文的错误。为特定目的创建一个新的解决了这个问题。(每种类型的 CRUD 一个)

I made the mistake of passing around the same data context. Creating a new one for the specific purpose solved the problem.(One for each type of CRUD)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文