2013-09-21 53 views
0

我有以下问题: 在我的应用程序中,我必须连接到Access数据库 - 是的,我知道Access并不是一个好的数据库 - 但我必须使用它。将NHibernate连接到MVVM Light工具包

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

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

回答

1

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

鉴于Three Layer Architecture,您应该将您的GUI与您的数据库层不同。

这意味着您不应该将MVVM框架和ORM框架绑定在一起。 在这个绑定的许多其他缺点中,它会在你的GUI和数据库之间产生很高的耦合度,并且使得它很难被替换,如果你想要改变那些框架的话。

我是否使用Hibernate的实体为“MVVM”模型

最终松散耦合将创建一个不同的组件来存储你的实体,您可以引用从您的GUI,在那里将充当“MVVM”模型,并从您的DAL中充当NHibernate实体。

什么来存储它们只需要在运行时用户设置的最佳地点?

来存储用户设置的最佳地点是在<userSettings>标签,您也可以从.Settings文件做下User范围下的App.config文件。

您可以轻松地访问它们:

var mySetting = Settings.Default.mySetting; 

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

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

希望这可以帮助

0

也许读取this article开始使用MVVM模式。

不,你不会使用NHibernate的实体在你的应用程序的ViewModels否则,你将有一个MVM模式或类似这样的东西;)

它通常不使用实体暴露于前端模式是个好主意直接因为你会混淆数据和UI层...

相关问题