0

IDでオブジェクトを削除するNHibernateのベストプラクティスは何ですか。あなたは両方を行うことができます

public void Delete(int id) 
{
    Session.Delete(new MyEntity { Id = id });
}

またはあなたはすることができます

public void Delete(int id) 
{
    var entity = Session.Get<MyEntity>(id);
    Session.Delete(entity);
}

2番目のオプションは、削除のためだけに新しいオブジェクトを作成するのではなく、一方、1つではなく2つのSQLコマンドを実行するため、私にはわかりやすく感じます。

4

1 に答える 1

2

2番目のオプションはベストプラクティスです。NHibernateは、オブジェクトを削除する前にオブジェクトをロードして、オブジェクトグラフを介してカスケード削除する必要があります。最初のオプションのようにNHibernateをだますために偽のオブジェクトを作成するよりも、SQLを直接削除したいと思います。

于 2012-11-15T17:25:58.573 に答える