Вы можете использовать любой ORM для извлечения данных из базы данных. Как только данные извлекаются из базы данных, вы можете установить зависимость SQL от элемента до того, как он будет вставлен в кэш.
NCache обеспечивает собственную реализацию зависимости SQL, независимую от инфраструктуры, используемой для извлечения содержимого базы данных (EF, NHibernate, ADO.NET и т. Д.). В этой функции NCache регистрирует команды SQL (запросы SELECT и хранимые процедуры SELECT) на сервере базы данных. Если какое-либо событие UPDATE или DELETE изменяет результирующий набор, который можно получить с помощью этих зарегистрированных команд SQL, сервер SQL отправит уведомление NCache, в ответ удалив соответствующие данные кэша.
Следовательно, внутри блока using контекста db вы можете добавить содержимое, извлеченное из базы данных, в кэш с установленной зависимостью SQL от NCache.
Чтобы обеспечить 100% обновление данных кеша в ответ на события UPDATE вместо полного удаления данных кеша, затронутых этим, это включает в себя интеграцию с функцией автоматической перезагрузки, которая использует возможности NCache для сквозного чтения в форме источников поддержки источника , В этом случае вы можете установить флаг повторной синхронизации для элемента кэша, чтобы указать, что NCache должен извлекать свежие данные в случае, если элемент должен быть удален зависимостью SQL. Для этого провайдер для сквозного чтения продолжит извлекать свежие данные из базу данных и заменить устаревшие данные кеша.
Провайдеры для чтения и провайдеры для записи представляют собой поставщиков источников поддержки NCache, которые позволяют NCache выполнять команды чтения и записи в базу данных от имени клиентов.
Дополнительную информацию о зависимости SQL можно найти по следующей ссылке:
http://www.alachisoft.com/resources/docs/ncache/prog-guide/sql-dependency.html
Информацию о поставщиках источников поддержки NCache можно найти по следующей ссылке:
http://www.alachisoft.com/resources/docs/ncache/prog-guide/data-source-provider.html