2011-02-10 9 views
0

私は部分図を作成し、このこれをnhibernateでどのように行うのですか?フィールドを自動的に変更しますか?

public partial class User 
    { 

     partial void OnNameChanged() 
     { 
      UserName = StringFormatter.ToTitleCase(UserName.Trim()); 
     } 

     partial void OnEmailChanged() 
     { 
      Email = Email.ToLower().Trim(); 
     } 

    } 

私はNHibernateの中でこのような何かを行うことができますような何かを行うことができますLINQ to SQLは。あなたもできます。あなたはOnQueryやOnSaveのようなことをすることができますか?

答えて

3

NHibernateのと直接プロパティアクセサを用いることであろうことを行うための最善の方法:NHibernateのは、DAOを生成するが、代わりにちょうどあなたの既存のドメインオブジェクトを使用していないので

public class User 
{ 
    ... 
    private string userName; 
    public virtual string UserName 
    { 
     get{return StringFormatter.ToTitleCase(userName.Trim());} 
     set{userName = StringFormatter.ToTitleCase(value.Trim());} 
    } 
    private string email 
    public virtual string Email 
    { 
     get{return email.Trim().ToLower();} 
     set{email= value.Trim().ToLower();} 
    } 
    ... 
} 

、あなたが完全に制御を持っていますover get/setロジック。部分的な必要はありません(あなたが本当に欲しかった場合は、その方法を設定することはできますが)。

関連する問題