私は、EF CTP4 の NHibernate で使用するプラクティスの多くを複製しようとしています。
現在、一般的なリポジトリ インターフェイスがあります (CTP4 では、DbContext.Set を使用してこれを簡単に行うことができます)。
コンテキストを渡し、StructureMap を使用して HttpRequest ごとにスコープを設定しています。
NHibernate では、ISession (再び StructureMap を使用して作成) を渡しますが、ActionFilter (UnitOfWork) を使用して、リクエストの最後にトランザクションをコミットします。
EF CTP4 に同等のトランザクションはありますか? そうでない場合は、同じフィルターを使用して context.SaveChanges() を呼び出すか、リポジトリ内でこれを行う必要があります。
余談ですが、エンティティが新しいかどうかをテストする最も簡単な方法は何ですか。NH では、ISession.SaveOrUpdate を呼び出すだけで十分です。すべてのエンティティが Guid 識別子を使用していることに注意してください。おそらくデフォルト(Guid)のチェックですか?
ありがとう。