假设我有一个EntityCollection说它是Context.Phones。 在客户端,它由WCF Ria服务加载,比如Wcf ria service + EF从DB加载了5部电话。
然后在客户端,我发布了Context.Phones.Detach(电话)。然后回想一下wcf ria服务重新加载数据。没关系,5个电话记录将在Context.Phones中重新登录。
但如果我在客户端执行Context.Phones.Remove(手机),然后使用wcf ria服务重新加载数据,Context.Phones总是只有4部手机,而不是5部手机,除非我重新运行整个SL应用程序。 如何解决这个问题?删除和分离之间有什么区别?
答案 0 :(得分:0)
要刷新实体,可以在重新加载实体时使用LoadBehavior.RefreshCurrent:
mycontext.Load(mycontext.GetPhonesQuery,
LoadBehavior.RefreshCurrent,
AddressOf MyCallback,
Nothing)
另一种方法:如果不依赖于您当前的上下文,您可以随时创建一个新的上下文并使用它。
分离不会将您的实体(及其对象图)标记为删除。它用于将您的实体从一个上下文移动到另一个上下文。
删除会将您的实体标记为删除。