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