将NHibernate与MVVM Light Toolkit连接起来

时间:2013-09-21 16:04:15

标签: wpf nhibernate mvvm fluent-nhibernate mvvm-toolkit

我有以下问题: 在我的应用程序中,我必须连接到Access数据库 - 是的,我知道Access不是一个很棒的数据库 - 但我必须使用它。

应用程序将使用MVVM Light Toolkit和“NHibernate”以WPF编写。

如何将“NHibernate”与MVVM Light Toolkit连接? 我是否将Hibernate实体用作“MVVM”模型? 什么是存储仅在运行时需要的用户设置的最佳位置?

2 个答案:

答案 0 :(得分:1)

  

如何将“NHibernate”与MVVM Light Toolkit连接?

鉴于Three Layer Architecture,您应该将GUI与数据库层区别开来。

这意味着您不应将MVVM框架和ORM框架绑定在一起。 在这个绑定所具有的许多其他缺点中,它将在GUI和数据库之间创建高度耦合,并且使得替换非常困难,如果你不想改变其中的一些框架。

  

我是否将Hibernate实体用作“MVVM”模型

最终的松散耦合将是创建一个不同的程序集来存储你的实体,你可以从你的GUI,它们将作为“MVVM”模型,以及从你的DAL,它们将充当NHibernate实体

  

存储仅在运行时需要的用户设置的最佳位置是什么?

存储用户设置的最佳位置位于App.config标记下的<userSettings>文件中,您也可以在.Settings范围内的User文件中执行此操作。

您可以轻松访问它们:

var mySetting = Settings.Default.mySetting;

如果您希望设置仅作为应用程序的生命周期使用,您可以在静态类中创建属性来保存您的设置:

public static class UserSettings
{
    public static string MySetting { get; set; }
}

希望这有帮助

答案 1 :(得分:0)

也许请阅读this article以开始使用MVVM模式。

不,你不会在你的应用程序中使用nHibernate实体作为ViewModels,否则你会有一个MVM模式或类似的东西;)

将实体用作直接暴露于前端的模型通常不是一个好主意,因为你会混淆数据和UI层......