我们正在迁移当前的C#应用程序以使用nHibernate.由于nHibernate提升了纯粹的域驱动设计,我们可以将业务对象添加为类的属性,或者应该继续使用ID.
让我用一个例子说明这一点;
参加以下现有课程.地址(和子项)仅由其ID标识.
public class Person
{
public int PersonID { get; set; }
public string FirstName { get; set; }
public string FirstName { get; set; }
public int AddressID { get; set; }
public List<int> ChildrenIDs { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
当我们将类转换为使用nHibernate时,我们还希望借此机会更改"Person"类的结构以更好地满足需求.希望nHibernate能够在"引擎盖下"处理所有数据检索
public class Person
{
public virtual int PersonID { get; private set; }
public virtual string FirstName { get; set; }
public virtual string FirstName { get; set; }
public virtual AddressObject Address { get; set; …Run Code Online (Sandbox Code Playgroud)