У меня проблема в том, что я реализовал WCF-сервис, который использует сущности LINQ ... Чтобы сгенерировать содержимое ответа на вызов сервиса, требуется большое количество LINQ / SQL-выборок ...
Как бы то ни было, служба не выполняет никаких обновлений или вставок в БД, поэтому я хотел бы реализовать своего рода «кеширование» сущностей LINQ (также контент БД не растет миллионами ... он действительно будет ограничен примерно 63 000 основных (с подзависимостями), таких как Пользователь -> Заказы)
Кроме того, ответ службы не должен содержать данные с обновлением 100% up2date, поэтому обновления данных в фоновом режиме не должны быть предметом обдумывания.
Хорошо, сейчас мой план выглядит следующим образом:
- Получите ВСЕ соответствующие таблицы из базы данных с помощью LINQ, чтобы все объекты были "кэшированы" (функция ToList () должна это делать, верно?)
- Заменить объект-сущность с помощью умных потоков каждые x-минуты / часы (например, снова получить данные из базы данных, заблокировать текущий кэшированный linq-DataContent и заменить его новым ..)
Итак, каково ваше мнение ... как вы думаете, я должен / мог бы сделать это так? Мне действительно нужно увеличить время отклика службы, но оптимизация SQL (например, меньшее количество вариантов выбора) не является для меня возможным вариантом, так как все функции LINQ уже реализованы.
Заранее спасибо!