2011-08-02 15 views
0

私はEntity Frameworkとリポジトリパターンから始めます。私はObjectContextについて混乱しています。 必要なときに毎回インスタンス化する方が良いですか? 私はそのように使用しています:グローバルなObjectContextまたはローカルのObjectContextですか?

 private GenericRepository _genericRepository; 

     public EmployeeDAO() 
     { 
      var _context = new NorthwindEntities(); 
      this._genericRepository = new GenericRepository(_context); 
     } 

     public Employee FindByID(int employeeID) 
     { 
      Employee _employee = this._genericRepository.Single<Employee>(x => x.EmployeeID == employeeID); 
      return _employee; 
     } 
+0

が重複する可能性が[?asp.net可能でSQLのDataContextに静的LINQとの取引を維持です](HTTP ://stackoverflow.com/questions/5324147/is-maintain-the-transaction-with-a-static-linq-to-sql-datacontext-in-asp-net-poss) – Steven

+0

これを読んでください:http:// stackoverflow .com/questions/3653009/entity-framework-and-connection-pooling/3653392#3653392 –

答えて

1

正確にあなたがGlobalによって何を意味するかわからないが、シングルトンObjectContextは良いアイデアではありません。 ObjectContextは作業単位であり、かなり短命でなければなりません。正確な実装の詳細は、開発しているアプリケーションの種類によって異なる場合があります。例えば。 Webアプリケーションの場合、1つのWebリクエストにつき1つのインスタンスを持つことが非常に一般的です。

また、ここで同様の質問をチェックアウトすることができます:

Entity Framework 4 ObjectContext Lifetime

EF - and repository pattern - multiple contexts

関連する問題