【发布时间】:2011-12-03 19:41:09
【问题描述】:
我是 WPF/MVVM/Entity Framework 的新手,需要同时处理很多概念。 我正在创建一个只有一个主视图的 WPF 应用程序,它分为两部分:1 个用户控件用于我的数据的主视图,另一个用户控件用于详细视图。所有数据都存储在通过 Entity Framework 实体模型生成的数据库中。
到目前为止,我设法做我想做的事(我使用 MVVM light):数据绑定、命令、eventToCommand... 我在 1 个 VS 项目中使用以下架构:1 个文件夹用于视图,1 个用于 ViewModel,1 个用于实体定义.
我使用 MVVM Light Messaging 将数据从 master 传递到 detail userControl,当我尝试更新一个实体时,遇到异常告诉我无法更新,因为我尝试更新链接到 ObjectContext 的一个对象(在MasterViewModel) 与一个对象来自另一个对象(在DetailedViewModel 中声明)
如何在 ViewModel 之间共享 EF ObjectContext? 我阅读了一些关于存储库或 UnitOfWork 的资料,但我并没有真正了解如何在我的案例中使用它。
辅助问题:使用 EF 和 n 层应用访问实体的最佳做法是什么?存储库是答案吗?考虑到类已经存在这一事实,我的解决方案架构中是否应该有一个“模型”文件夹?
【问题讨论】:
-
您是否忘记接受下面的答案(这会提高您的声誉)或者您是否在寻找其他解释? :)
标签: wpf entity-framework mvvm-light