2012-01-02 35 views
3

如何不用NHibernate更新對象的某些屬性?如何更新不是對象的所有屬性?

例如:

var user = new User(); 
user.Id = 5; 
user.Name= "afsf"; 
user.Login = "asdfsf"; 

和密碼屬性格式默認情況下爲null

user.Password == null; 

..... 

session.Update(user) 

如何不更新密碼的財產?

+0

set update = false ........... – 2012-01-02 10:24:49

+0

但是如果我在某些情況下需要更新這個屬性呢? – k0lpak 2012-01-02 10:27:48

+0

那麼在這種情況下,它不會得到更新:)... – 2012-01-02 10:29:28

回答

2

您可以在更新之前從數據庫加載用戶。

var user = session.Get<User>(5); 
user.Name="username"; 
... 
session.Update(user); 

此外,您還可以映射2班,一個跟用戶設置信息,如姓名,電子郵件等,而另一個有關用戶登錄,登錄名和密碼信息。

相關問題