Pravděpodobně stojí za to provést analýzu lokálně místo v databázi pomocí AsEnumerable
:
var query = db.tb1.Select(tb => tb.dt)
.AsEnumerable() // Do the rest of the processing locally
.Select(x => DateTime.ParseExact(x, "yyyyMMdd",
CultureInfo.InvariantCulture));
Počáteční výběr má zajistit, že bude načten pouze relevantní sloupec, nikoli celá entita (pouze pro většinu z nich, která se má zahodit). Také jsem se vyhnul použití anonymního typu, protože se zdá, že to nemá smysl.
Všimněte si, jak jsem mimochodem specifikoval invariantní kulturu – vy téměř jistě neděláte chtějí jen využít současnou kulturu. A změnil jsem vzor používaný pro analýzu, protože to zní jako váš zdroj data jsou v yyyyMMdd
formát.
Samozřejmě, pokud je to možné, měli byste změnit schéma databáze tak, aby se hodnoty data ukládaly do sloupce založeného na datu, nikoli jako text.