5

我使用ASP.NET MVC 3的應用程序,使大量使用或用戶和角色。NHibernate和ASP.NET的成員資格

創建用戶並分配角色我通過ASP.NET Membership使用標準進程。

在整個應用程序中,我使用NHibernate進行底層數據訪問,除了使用默認的MembershipProvider和RoleProvider實現(在AccountController中委託對這些實現進行委託調用的地方)之外。

我想使用NHibernate,以便能夠讀取/編輯/修改ASP.NET成員管理的表上的值。

我發現了兩個解決方案:

  1. 編寫自定義的NHibernate實施的MembershipProvider和RoleProvider(甚至使用this one)。這是最難的道路。

  2. 僅映射表(如here所述),然後直接使用NHibernate(儘管AccountController的任何默認操作仍將由默認提供程序處理)。

任何建議/建議?

回答

3

我已經使用了自定義提供程序,並且取得了相當不錯的成功。我對它做了一些修改,以便在它的生命週期中使用單個會話。

如果你想使用ASP.net成員資格,我認爲這種方法是你最好的選擇,主要是爲了便攜性(它不依賴於任何SP存在於你的數據庫中)。我目前正在使用該鏈接修改後的提供程序對MSSQL和Postgres沒有任何問題,我也用它來對付MySQL。

+0

我明白了。但是這個實現沒有單元測試。 –

+0

我正在寫這個實現的單元測試,是的它開箱即用:-)(到目前爲止)。 –

+0

真棒,很高興它的工作。我從來沒有寫周圍的測試,隨時張貼你的:D – AlexCuse