0

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

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

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

4

2 回答 2

1

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

鉴于三层架构,您的 GUI 应该与数据库层不同。

这意味着您不应该将 MVVM 框架和 ORM 框架捆绑在一起。在此绑定将具有的许多其他缺点中,它会在您的 GUI 和 DB 之间产生高度耦合,并且如果有一天您想要更改其中的一些框架,它会非常难以替换。

我是否将休眠实体用作“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; }
}

希望这可以帮助

于 2013-09-21T23:39:30.837 回答
0

也许阅读这篇文章以开始使用 MVVM 模式。

不,您不会在应用程序中将 nHibernate 实体用作 ViewModel,否则您将拥有 MVM 模式或类似的东西;)

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

于 2013-09-29T11:57:07.217 回答