Было много вопросов по управлению EntityContext время жизни,
например. Создание контекста в LINQ to Entities
Я пришел к выводу, что контекст сущности должен рассматриваться как единица работы и, следовательно, не использоваться повторно. Отлично.
Но, проводя некоторые исследования для ускорения доступа к моей базе данных, я наткнулся на это сообщение в блоге ...
Повышение производительности Entity Framework
В публикации утверждается, что низкая производительность EF по сравнению с другими платформами часто связана с тем, что EntityConnection объект создается каждый раз, когда требуется новый объект EntityContext .
Чтобы проверить это, я вручную создал статическое EntityConnection в Global.asax.cs Application_Start ().
Затем я преобразовал весь свой контекст с помощью операторов в
using( MyObjContext currContext = new MyObjeContext(globalStaticEFConnection)
{
....
}
Насколько я могу судить, это немного ускорило процесс без каких-либо ошибок.
Но это безопасно?
Внедряет ли использование статического EntityConnection в масштабе приложения условия гонки?
С уважением,
Kervin