Кэширование структуры объектов

Я читаю статью о различиях между Nhibernate и EF. Но я не мог понять, что они хотели сказать с кешированием на поле.

Что касается Entity Framework, ObjectContext/DbContext содержит конфигурацию, модель и действует как Единица работы, содержащая ссылки на все известные экземпляры сущностей. Поэтому этот класс не является легким, как его аналог NHibernate, и нет ничего необычного в том, чтобы видеть примеры, в которых экземпляр кэшируется в поле.

Я не создал ссылку на статью, потому что я не был на 100% уверен, что это разрешено.

0
nl ja de
добавлено автор Andrew Barber, источник
Да, вы можете предоставить ссылку на статью.
добавлено автор DOK, источник
добавлено автор JVGAG, источник

1 ответы

Обратите внимание на формулировку внимательно; они говорят о самом DbContext и комментируют, что нет ничего необычного в том, чтобы видеть примеры, где «экземпляр» (DbContext) кэшируется в поле.

Это означает, что вместо создания и уничтожения объекта DbContext с локальной областью в методе вы увидите, что люди сохраняют экземпляр DbContext в поле более широкого объект и повторно использовать его.

1
добавлено
@JVGAG Репозиторий! = DbContext! = Connection . ADO.NET (который работает за Entity Framework) обрабатывает все ваши пулы соединений для вас. Является ли ваш DbContext долговечным или нет абсолютно ничего . Страница, на которую вы ссылаетесь, объясняет, что ADO.NET/EF обрабатывает все, что для вас - только открытие/закрытие соединений "по мере необходимости"
добавлено автор Andrew Barber, источник
@JVGAG Они «держат» один DbContext через несколько репозиториев, да. Но это не имеет ничего общего с базовыми DbConnections, кстати.
добавлено автор Andrew Barber, источник
Разве не нормально делиться своим контекстом между различными хранилищами в случае шаблона репозитория? Как также указано в MSDN ссылка ; стоимость открытия и закрытия соединения с базой данных очень высока.
добавлено автор JVGAG, источник
Используют ли они этот подход в следующей ссылке? ссылка Они содержат один Dbcontext для нескольких репозиториев.
добавлено автор JVGAG, источник