0

我创建了一个继承 DomainService 的类,并有一个使用 System.ServiceModel.DomainServices.Client 获取 DomainContext 的 Silverlight 应用程序。我还创建了在 DomainServices 的查询、更新、插入和删除方法中使用的 POCO 数据合同。我还有一个执行所有 LoadOperations 的 ViewModel。现在我在我的应用程序的一部分,我想将新实体添加到生成的 EntitySets 但不确定当一个用户创建新实体并设置 Key 值时会发生什么;同时另一个用户创建具有相同 Key 值的类似实体。

我在文档中看到使用了 ObjectContext,但在我的情况下,我无法使用 EntityFramework 模型生成器。所以我不得不手动创建我的数据合同。

所以我想我的问题是,有什么办法可以强制其他 Silverlight 应用程序更新数据库更改?

4

1 回答 1

0

当您对 DomainContext 进行保存操作时,根据加载行为,它将自动刷新。

TicketContext.Load(TicketContext.GetTicketByIdQuery(ticketId),
                                      LoadBehavior.RefreshCurrent,
                                      x =>
                                        {
                                          Ticket = x.Entities.First();
                                          Ticket.Load();
                                          ((IChangeTracking) TicketContext.EntityContainer).AcceptChanges();
                                        }, null);

在这里,我将 LoadBehavior 设置为 RefreshCurrent。当您进行保存时,RIA 将通过线路将实体发送回客户端,并将更改与已缓存在客户端上下文中的实体合并。我不知道这是否完全回答了你的问题。

于 2011-01-14T14:12:45.500 回答