2009-03-15 10 views
2

私は非常に短いアクセス可能な文字列を提供するので、私はオブジェクトの拡張を使用しています。ObjectContextインスタンスを格納する場所はどこですか?

public static BusinessLayer.Models.SearchEngineEntities db(this object o) 
    { 

     if (HttpContext.Current == null) 
      return new BusinessLayer.Models.SearchEngineEntities(ConfigurationManager.ConnectionStrings["SearchEngineEntities"].ConnectionString); 

     if (HttpContext.Current.Items.Contains("DataContext")) 
     { 
      return (BusinessLayer.Models.SearchEngineEntities)HttpContext.Current.Items["DataContext"]; 
     } 

     BusinessLayer.Models.SearchEngineEntities context = new BusinessLayer.Models.SearchEngineEntities(ConfigurationManager.ConnectionStrings["SearchEngineEntities"].ConnectionString); 
     HttpContext.Current.Items.Add("DataContext", context); 
     return context; 
    } 

だから結果に私は次のように実行文字列を持っている:

"".db().Users.Include("").... 

しかし、私はそれが最善の解決策である100%わかりません。 DataContextまたはObjectContextインスタンスをどこに格納するか、どのように格納するか、私より優れていることを願っています。多分もっと良い解決策を知っているかもしれません...

アドバイスありがとうございます。

答えて

関連する問題