DataContext
не является поточно-ориентированным;использование его напрямую из нескольких потоков вызовет #fail;наличие глобального статического контекста данных вызовет #fail , а вызовет неконтролируемый рост памяти (контекст данных включает в себя диспетчер идентификации и трекер изменений для каждого извлеченного объекта; это только увеличивается завремя, когда затрагивается больше объектов)
В идеале контекст данных следует использовать для единицы работы;раскрутить один;сделайте что-то (это ограничено областью действия, т. е. не все время жизни приложения) и утилизируйте его.Таким образом, IMO реальный ответ здесь «привязать его к этой единице работы».Только вы можете знать, что это в вашем приложении;это может быть один метод, это может быть запрос страницы на веб-странице, это может быть отметка таймера в службе.Кто знает ...