我从实体框架来到 NHibernate。在查看如何创建我的域实体时,我注意到在某些示例中它们不包括外键关系列。由于Session
该类包含一个Load()
方法,因此可以只使用对象而无需访问数据库而不是主键。这是在 NHibernate 中构建实体模型时的正常做法吗?
示例实体
public class BlogPost : Entity
{
public virtual string Name { get; set; }
//Should this be here
public virtual int AuthorID { get; set; }
public virtual Author Author { get; set; }
}
创建实体
BlogPost post = new BlogPost
{
Name = "My first post",
Author = session.Load<Author>(1) //Avoids hitting the database
};
session.Save(post);
- 或者 - -
BlogPost post = new BlogPost
{
Name = "My first post",
AuthorID = 1 //Use the id of the object
};
session.Save(post);