Greetings、 遅延ロードを許可する要求によってコンテキストを開いたまま、Entity Managerへのアクセスを提供する最善の方法をソートしようとしています。私は、次のような例をたくさん見ています:ASP .NET MVSのエンティティマネージャへのアクセス
public class SomeController
{
MyEntities entities = new MyEntities();
}
私は、このセットアップを参照の問題は、あなたがあなたに電話をしたいビジネスクラスの層を持っている場合、あなたは合格する必要が終わるということですそのように、これらのメソッドへのパラメータとしてマネージャ:
public static GetEntity(MyEntities entityManager, int id)
{
return entityManager.Series.FirstOrDefault(s => s.SeriesId == id);
}
はもちろん、私は、良い、スレッドセーフな方法を探していますが、それを通過することなくメソッドにEntityManagerを提供します。方法はまた、ユニットテスト可能である必要があります、セッションでそれを入れて私の以前の試みはユニットテストのために働かなかった。
エンタープライズレベルのアプリケーション用のASP .NET MVCでEntity Frameworkを処理する推奨方法を実際に探しています。
あなたの考えは私が望むものに近いです。しかし、Entity Managerを使用する必要があるビジネス層には、Entity Managerが公開されていません。しかし、私はあなたが私に正しい方向に微笑を与えてくれたと思う – xximjasonxx