我有以下問題: 在我的應用程序中,我必須連接到Access數據庫 - 是的,我知道Access並不是一個好的數據庫 - 但我必須使用它。將NHibernate連接到MVVM Light工具包
該應用程序將使用MVVM Light Toolkit和「NHibernate」以WPF編寫。
如何連接「NHibernate」與MVVM Light Toolkit? 我是否將Hibernate實體用作「MVVM」模型? 什麼是存儲僅在運行時需要的用戶設置的最佳位置?
我有以下問題: 在我的應用程序中,我必須連接到Access數據庫 - 是的,我知道Access並不是一個好的數據庫 - 但我必須使用它。將NHibernate連接到MVVM Light工具包
該應用程序將使用MVVM Light Toolkit和「NHibernate」以WPF編寫。
如何連接「NHibernate」與MVVM Light Toolkit? 我是否將Hibernate實體用作「MVVM」模型? 什麼是存儲僅在運行時需要的用戶設置的最佳位置?
我該如何連接「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; }
}
希望這可以幫助
也許讀取this article開始使用MVVM模式。
不,你不會使用NHibernate的實體在你的應用程序的ViewModels否則,你將有一個MVM模式或類似這樣的東西;)
它通常不使用實體暴露於前端模式是個好主意直接因爲你會混淆數據和UI層...