Я использую расширение для Object, потому что оно предоставляет очень короткую доступную строку.
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. Может быть, вы знаете лучшее решение ...
Спасибо за совет.