Вероятно си струва просто да направите анализирането локално, вместо в базата данни, чрез 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));
Първоначалният избор е да се гарантира, че се извлича само съответната колона, а не целият обект (само за по-голямата част от него да бъде отхвърлен). Също така избягвах да използвам анонимен тип, тъй като изглежда няма смисъл от него тук.
Забележете как между другото посочих инвариантната култура - почти сигурно не искат просто да използват текущата култура. И промених модела, използван за анализиране, тъй като звучи като вашия източник данните са в yyyyMMdd
формат.
Разбира се, ако изобщо е възможно, трябва да промените схемата на базата данни, за да съхранявате стойностите на датата в колона, базирана на дата, а не като текст.