Mungkin ada baiknya melakukan parsing secara lokal daripada di database, melalui 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));
Pemilihan awal adalah untuk memastikan bahwa hanya kolom yang relevan yang diambil, bukan keseluruhan entitas (hanya sebagian besar yang akan dibuang). Saya juga menghindari penggunaan jenis anonim karena sepertinya tidak ada gunanya di sini.
Perhatikan bagaimana saya menentukan budaya invarian - Anda hampir pasti tidak ingin hanya menggunakan budaya saat ini. Dan saya telah mengubah pola yang digunakan untuk penguraian, seperti yang terdengar seperti sumber . Anda data ada di yyyyMMdd
format.
Tentu saja, jika memungkinkan, Anda harus mengubah skema database untuk menyimpan nilai tanggal dalam kolom berbasis tanggal, bukan sebagai teks.