流畅的NHibernate委托映射Func

时间:2010-02-03 14:36:01

标签: nhibernate fluent-nhibernate

鉴于这个(HORRIBLE)对象图,我无法改变

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接口不会接受字符串,我不拥有Email类,所以我无法修改它......

2 个答案:

答案 0 :(得分:0)

不确定Fluent NHibernate,但您可以创建自己的IUserType,它会从Email映射到string,反之亦然。这很简单:请参阅this以获取示例。

答案 1 :(得分:0)

它被称为组件,可用于映射像emailaddress这样的值类型。