Как правило, я бы пошел на реализацию, где сложности работы с EF абстрагируются с помощью шаблона Repository , но контекст остается живым до тех пор, пока он мне нужен. (Сценарий 3)
Под «так долго, как мне это нужно» я подразумеваю столько времени, сколько длится сервисный вызов. Я не хочу, чтобы ObjectContext
сохранялся во время нескольких вызовов службы, поскольку мне нужно было бы разобраться с его состоянием. Стоимость создания новой ObjectContext
ничтожна.
Я думаю, что во многих отношениях ваш ModelAdapter
также абстрагируется от сложностей EF, однако, основываясь на его статической природе, вы можете столкнуться с проблемами в параллельных сценариях, если решите сохранить ObjectContext
. Способ его реализации теперь может не дать вам гибкости, необходимой для более сложных запросов (например, присоединение к Order <-> OrderDetail <-> Product).