2010-11-25 3 views
0

У меня есть таблица налогов в базе данных, которая меняется, возможно, раз в год. наше приложение asp.net имеет расчеты, которые очень часто запрашивают базу данных для налогов на основе провинции/штата клиента. Я бы хотел избежать этих поездок в оба конца. Есть ли способ, которым я могу использовать кеширование с Entity Framework 4? Поэтому я хочу, чтобы объект был основан на таблице налогов в моем edmx, но когда я выполняю запросы LINQ против него, я не хочу, чтобы он переходил в базу данных, если истек срок действия кеша. Как бы я это сделал?кэширование в asp.net и ado.net

Я не работал с кэшированием данных asp.net раньше, поэтому некоторые детали концепции будут высоко оценены. Я прочитал документацию msdn по кэшированию данных приложения, но мне просто интересно, как сделать эту работу с EF4 элегантной манерой.

ответ

0

Вы можете использовать кеширование файлов для этого. Например, вам нужно создать триггер в таблице, который будет изменять файлы в определенном месте, а затем вы можете добавить cachedependancy в файл из кода asp.net. Поэтому до тех пор, пока в таблице не произойдут какие-либо изменения, вы должны извлечь данные из кеша, если файл изменится, тогда он будет проверять кеш, и данные будут извлекаться из базы данных.

Или

Вы можете SQL Cache функции зависимостей, если вы используете SQLServe в качестве внутреннего интерфейса.

Вот некоторые ссылки, которые могут вам помочь.

http://www.15seconds.com/issue/031229.htm

http://www.c-sharpcorner.com/uploadfile/vishnuprasad2005/implementingcachinginasp.net11302005072210am/implementingcachinginasp.net.aspx

вот некоторая поддержка кэширования в entityframework

http://blogs.msdn.com/b/efdesign/archive/2008/07/09/transparent-caching-support-in-the-entity-framework.aspx

http://www.andrewdothay.net/blog/2009/01/28/LINQAndTheSqlCacheDependency.aspx

+0

вы знаете, если Entity Framework 4.0 поддерживает любой вид кэширования из ряда коробка? последние 2 ссылки кажутся датированными. – Riz 2010-11-25 20:55:16