2011-02-16 72 views
2

我有一種情況,用戶表除了憑證之外還有很多關於用戶(名,姓,電子郵件等)的信息數據(用戶名,密碼,以前的密碼等)。通常情況下,我會將身份驗證從個性化中分離出來,但是這個表已經很久了,我無法做到這一點。Fluent NHibernate - 將單個表的多個部分映射到多個具有幾個共享字段的類

它困擾着我有一個用戶對象的所有數據在它周圍傳遞我的應用程序。我反而想把它分成兩個對象:UserUserCredentials。用戶可以自由傳遞我的應用程序而不泄露任何密碼,而UserCredentials將僅用於我的服務後端,用於驗證和驗證用戶。

這似乎很簡單。但是,有些字段需要在這兩個對象之間共享。當我的一個對象更新時,這會導致nhibernate出現問題嗎?例如,如果發生用戶名更改並且兩個對象中都有用戶名,那麼這兩個對象是否都會更新?

回答

3

如果User和UserCredentials表示同一個實體的兩個視圖,不需要爲它們創建兩個類。它只會導致痛苦。

替代方案:

  • 使用component揭露實體的「公共」的一部分,並傳遞
  • 使用DTO包含正是你需要的字段,並傳遞
+0

我試過這個組件,並且遇到一個nhibernate錯誤,因爲這兩個對象都需要這個ID。我可能不得不去DTO的方式 – Josh 2011-02-17 14:16:53

相關問題