Как поместить таблицу в кэш?

562
07 февраля 2017, 18:29

Имеются 3 таблицы в MS SQL:

Files    FileProperties    Properties
=====    ==============    ==========
id       file_id           id
path     property_id       name
         value             type

FileProperties имеет внешние ключи к таблицам Files и Properties. В таблице Properties находятся всего ~200 записей. В течении работы программы и чтения свойств файлов, таблица Properties пополняется новыми записями.

Можно ли с помощью EntityFramework поместить в кеш таблицу Properties? А при необходимости добавления новой записи, каким-либо образом ее обновлять?

Нашел информацию о том, что можно принудительно загружать таблицу с помощью Load(), а затем использовать свойство DbSet<TEntity>.Local. Но не могу понять как в этом случае добавлять/обновлять/синхронизировать контекст и кеш?

using(var dbContext = new DbContext()){
    // сущности таблицы Properties будут существовать за пределами using?
    dbContext.Properties.Load();
}
// ...
using(var dbContext = new DbContext()){
    // здесь мы получим ранее загруженные сущности?
    var property = db.Properties.Local.Where(p => ...).ToList();
}
READ ALSO
побайтно прочитать файл, когда он открыт C#

побайтно прочитать файл, когда он открыт C#

Моя история тянется с прошлой темы:

540
Привязка данных к компонентам winforms

Привязка данных к компонентам winforms

Добрый деньВ первый раз столкнулся с такой проблемой: имеется коллекция ObservableCollection<string>, которая была передана как источник данных для...

433
Конвертация звукового файла с помощью NAudio

Конвертация звукового файла с помощью NAudio

При конвертации wav файла по алгоритму A-Law звук на выходе получаеться плохого качества

547
Переход Между сценами Unity3d

Переход Между сценами Unity3d

Всем доброго времени сутокСтолкнулся с такой проблемой, при переходе на сцену с игрой, сцена главного меня остается открытой

957