wpf - 哪里有关于如何在 WPF 应用程序中将 Caliburn.Micro MVVM 与 Entity Framework 结合起来的说明?

标签 wpf entity-framework mvvm caliburn.micro

如何将 Caliburn.Micro MVVM 与 Entity Framework 集成以用于新的 WPF 4 应用程序? 到目前为止,我还没有找到教程。我不打算使用 Silverlight 或 RIA 服务。该应用程序(我公司的 CRM)可能会随着时间的推移而增长。我计划使用 PRISM 进行模块化,并希望将这三个框架结合起来。

请注意,我不会使用 EF Code First。 EDM 将通过将表格拖动到设计图面以生成实体来创建。为了从 Caliburn.Micro 中受益,我相信所有实体属性都需要包装才能使用 NotifyOfPropertyChange。如果是这样,我想找到某种代码生成工具来使这变得更容易。也许我需要将 EF 包装在存储库中?如果您可以建议资源来帮助我回答这些问题,我们将不胜感激。

谢谢!

编辑:我发布了 related question here .

最佳答案

MVVM 模式不关心数据访问方法,数据访问方法也不关心 MVVM 模式。首先,您可以简单地在 ViewModel 中编写查询,然后使用存储库模式重构它们。

关于 PRISM 部分并结合了 3 个框架。棱镜其实并不需要。查看 Caliburn Micro 源下载中提供的 HelloScreens 示例。客户端项目中有 3 个子文件夹/Customer/Orders 和/Settings。它们基本上是模块,可以分成单独的项目。 Here是关于该主题的帖子。

我喜欢 CM,但您可能会考虑的另一个选择是 Lightswitch,因为它是一个公司 CRM。

编辑: 找到您喜欢的存储库模式和 EF 的示例并使用它。然后在您的 ViewModel 中并使用 DI:

public class CustomerViewModel : Screen
{
     public IRepository CustomerRepo { get; set; }
     public CustomerViewModel(IRepository customerRepo)
     {
          Customer = customer
     }

     private BindableCollection<Customer> _customers;
     public BindableCollection<Customer> Customers
     {
         get { return _customers; }
         set
         {
             _customers = value;
             NotifyOfPropertyChange(() => Customers);
         }
     }

     protected override void OnActivate()
     {
          base.OnActivate();

          Customers = CustomerRepo.GetAll();
        }   
}

关于wpf - 哪里有关于如何在 WPF 应用程序中将 Caliburn.Micro MVVM 与 Entity Framework 结合起来的说明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7391472/

相关文章:

wpf - 在 PRISM(wpf) 中的模块之间共享公共(public)资源

.net - EF 属性的最大长度不起作用

c# - 尝试使用 C# 和 WPF 调整文本框中的 TextBox + 字体大小,只能做一个或另一个

wpf - 控件模板中的 ValidationRules

entity-framework - Entity Framework 4 和代码优先 CTP 5 - 缺少 key

android - 如何使用 MVVM 在 RecyclerView 中监听 onCheckedChangeListener?

c# - MVVM 和 DI - 如何处理模型对象?

wpf - XDocument 之上的 ViewModel

WPF 功能区 ImageSource

c# - 我应该/可以将 Entity Framework 用于非标准 CRUD 吗?