我是WPF/MVVM/Entity Framework的新手,同时处理很多概念.我正在创建一个只有一个主视图的WPF应用程序,它分为两部分:1个UserControl用于我的数据的主视图,另一个用户控件用于详细视图.所有数据都存储在通过Entity Framework实体模型生成的数据库中.
到目前为止,我设法做了我想做的事情(我使用MVVM灯):数据绑定,命令,eventToCommand ...我在1个VS项目中使用以下架构:1个用于Views的文件夹,1个用于ViewModels,1个用于实体定义.
我使用MVVM Light Messaging将数据从master传递给详细的userControl,当我尝试更新一个实体时,我遇到异常告诉我无法更新,因为我尝试更新链接到ObjectContext(在MasterViewModel中声明)的一个对象来自另一个对象的一个对象(在DetailedViewModel中声明)
如何在ViewModels之间共享EF ObjectContext?我读了一些关于存储库或UnitOfWork的东西,但我并没有真正看到我如何在我的情况下使用它.
附属问题:使用EF和n层应用程序访问实体的最佳做法是什么?存储库是答案吗?考虑到类已存在的事实,我的解决方案体系结构中是否应该有"Model"文件夹?
我是Symfony的新手,到目前为止一切正常,除了以下:我安装SmartyBundle使用Smarty模板引擎而不是默认的Twig.它运作良好.但是在第79页的Symfony一书中,他们解释了一个非常简洁的Twig函数:直接从模板中嵌入控制器结果的能力.
我没有设法与Smarty合作,所以你知道是否可以做到这一点,以及如何做到这一点?
我想我可以使用forward方法从我当前的控制器调用另一个控制器来获得相同的结果,但在我看来,它提供了更多的分解功能来使用这个渲染功能.