将 NHibernate 与 MVVM Light Toolkit 连接起来



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

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

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

如何将"NHibernate"与 MVVM Light Toolkit 连接?

给定三层架构,您应该将 GUI 与数据库层区分开来。

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

我是否将休眠实体用作"MVVM"模型

最终的松散耦合将是创建一个不同的程序集来存储您的实体,您可以从 GUI 引用这些程序集,它们将充当"MVVM"模型,也可以从您的 DAL 引用,它们将充当 NHibernate 实体。

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

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

您可以轻松访问它们:

var mySetting = Settings.Default.mySetting;

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

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

希望这有帮助

也许阅读本文以开始使用 MVVM 模式。

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

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

相关内容

  • 没有找到相关文章

最新更新