如果您引用任何开发的 Silverlight MVVM 示例,您会发现每个 ViewModel 都有自己的 DomainContext。但是,我真的不认为需要 ViewModel 特定的 DomainContext。
我倾向于为所有 ViewModel 创建一个共享的 DomainContext。这样,当将实体添加到不同的 DomainContext 中并将其从不同的 DomainContext 中删除的问题永远不会出现时。否则,您可能会尝试从根本没有该特定实体的 DomainContext 中删除,因此会出现异常。
谁能告诉我关于 DomainContext 的最佳实践是什么?
最佳答案
我的两本关于 MVVM 的教科书,它们是......
使用 Windows® Presentation Foundation 和模型 View ViewModel 模式构建企业应用程序,作者 Raffaele Garofalo
Pro WPF 和 Silverlight MVVM 使用模型- View - View 模型进行有效的应用程序开发,作者:Gary McLean Hall
...不要直接处理 DomainContext。然而,两位作者都同意,在涉及数据访问层的地方,推荐使用“工作单元”设计模式。如果您打算在 SL 应用程序中使用一个或多个 DomainContext(s) 作为数据访问层的一部分,您将被建议(无论如何由这些机构)考虑将它们封装到“工作单元”模式中。让您的 ViewModel 处理这些抽象。
至于最佳实践,我认为在认真考虑这些模式后,您已经满足了“最佳实践”。在许多情况下,实现它们可能有些矫枉过正。
在 http://msdn.microsoft.com/en-us/magazine/dd882510.aspx 上有对“工作单元”的介绍。
关于c# - 创建 RIA 服务 DomainContext 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8625063/