EntityFramework a cache rubrika: Programování: .Net
Zdravím ve spolek,
jak řešíte u EF (6.2) nějakou cache?
Jako modelový příklad:
- mám seznam zákazníků, který v cyklu procházím a pro každého počítám nějakou hodnotu
- pro výpočet hodnoty potřebuji přistupovat ke 3-5 různým pomocným tabulkám v databázi
- některé tabulky jsou o velikosti jednotek záznamů a některé zase tisíců
- při průchodech v cyklu se často opakují shodné dotazy na pomocné tabulky
- některé dotazy na pomocné tabulky provádíme přes entity model a u některých používáme z důvodu výkonu RAW SQL dotazy přes SqlQuery
Uvažoval jsem nad nějakými proxy třídami nad repozitáři, ale zde jsem ještě nepromyslel použití v rámci IoC (Windsor Castle).
Momentálně to ještě řešíme tak, že ve třídě aplikační logiky, kde probíhá celý algoritmus výpočtu si jednou načtené záznamy ukládáme do listu a při opakovaném dotazu je použijeme.
Díky.
Jsou okamžiky, kdy se vyplatí napsat komplexní SQL dotaz namísto sady jednoduchých a následných cyklů s výpočty atd. (přes SQL jdou dělat opravdu divy), případně použít proceduru v databázi a na aplikáč/klienta vracet už jen výsledek. Výkon bude myslím zcela někde jinde, obzvláště pokud se několik cyklů přepíše do rozumného SQL.
Pro zobrazení všech 4 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem: