在使用NHibernate时,我发现有许多陷阱,看似微不足道,如果不明白,就会阻碍我们的开发,乃至于影响到开发效率,成为开发的拦路虎。

1、首先是映射的实体类,例如Customer类。由于我采用DDD的方式,将领域逻辑也放入到该实体类中,且通过构造函数传入了一个Repository对象,代码如下:

public class Customer {
    private ICustomerRepository m_repository;
    public virtual int CustomerID {
        get;
        set;
    }
    public virtual string Name {
        get;
        set;
    }
    public virtual DateTime Birthday {
        get;
        set;
    }
    public virtual string Address {
        get;
        set;
    }
    public Customer(ICustomerRepository repository) {
        m_repository = repository;
    }
    public Customer Load(int customerID) {
        return m_repository.Load(customerID);
    }
}

相关文章: