我有以下问题: 在我的应用程序中,我必须连接到Access数据库 - 是的,我知道Access不是一个很棒的数据库 - 但我必须使用它。
应用程序将使用MVVM Light Toolkit和“NHibernate”以WPF编写。
如何将“NHibernate”与MVVM Light Toolkit连接? 我是否将Hibernate实体用作“MVVM”模型? 什么是存储仅在运行时需要的用户设置的最佳位置?
答案 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层......