3

作業単位をどこで使用すればよいか知りたいですか?なぜ ?

  • リポジトリレベル?しかし、2つのリポジトリが必要な場合はどうでしょうか。
  • サービスレベル?しかし、他のサービス方法を再利用する必要がある場合はどうでしょうか。
  • コントローラーレベル?しかし、コントローラーにロジックを配置したくない場合はどうでしょうか。

その最もよく見られ、使用されるべき場所を知りたいです。私は次のような実装を使用しています:

using (var uow = UnitOfWorkFactory.Create())
{
... transaction go here
}

(私はエンティティフレームワークでASP.NET MVC 3を使用しています)

ありがとう。

4

1 に答える 1

4

作業単位を使用すると、複数のリポジトリ内で複数のアクションを実行Save()し、それらすべてを一度に呼び出すことができますSaveChanges()。これにより、作業単位がトランザクションに変わります。通話中に何かが失敗した場合Save()、操作はロールバックされます。

したがって、データトランザクション中に何かが破損しないようにするために、必要な場所で作業単位を使用してください。基本的に、一連のアクションが完了するまでトランザクションを延期する場合は、作業単位を使用します。

この投稿は、エンティティフレームワークが作業単位の使用をどのように意図しているかについてのかなり良い概要です。

于 2011-02-08T13:04:51.543 に答える