c# - 创建 RIA 服务 DomainContext 的最佳实践

标签 c# silverlight c#-4.0 silverlight-4.0

如果您引用任何开发的 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/

相关文章:

c# - 为什么 Window.Close 事件会传播?

c# - OutOfMemoryException 使用计时器已用事件 c#

ajax - RIA 领域有哪些值得关注的优秀博客?

正则表达式 - 什么时候不匹配 NewLine?

asp.net-mvc - 如何在 mvc 中将 formcollection 转换为模型

java - 在 C# 中导入多个内容

c# - Visual Studio Razor 页面错误语法错误

c# - 数据将静态类的字符串变量绑定(bind)到 Phone 7 中的 textBlock?

silverlight - 在 Silverlight 中显示带圆角的视频的最佳方式是什么?

c# - 如何为 API 集成启用 TLS 1.0 加密