2010-02-03 83 views
0

鑑於這種(太可怕了),對象圖,我不能改變功能NHibernate代表映射函數功能

public class Email 
{ 
    public Email(string email) { ... } 
    //DO a bunch of worthless stuff 
} 

public interface IPerson 
{ 
    Email Email{get;set;} 
} 

難道這樣的事情存在嗎?

Map(p => p.EmailAddress).Use(s => new EmailAddress(s)); 

本質上Person接口不會採取一個字符串,我沒有自己的郵件類,所以我不能修改它...

回答

0

不確定功能NHibernate,但您可以創建您自己的IUserType,它將從Email映射到string,反之亦然。這很容易:例子見this

0

它被稱爲組件,可用於映射像電子郵件地址這樣的值類型。