私は Entity Framework から 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);