Có lẽ bạn chỉ cần thực hiện phân tích cú pháp cục bộ thay vì trong cơ sở dữ liệu, thông qua 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));
Lựa chọn ban đầu là để đảm bảo rằng chỉ cột có liên quan được tìm nạp, thay vì toàn bộ thực thể (chỉ phần lớn cột bị loại bỏ). Tôi cũng đã tránh sử dụng kiểu ẩn danh vì dường như không có ý nghĩa gì ở đây.
Nhân tiện, hãy lưu ý cách tôi đã chỉ rõ văn hóa bất biến - bạn gần như chắc chắn không muốn chỉ sử dụng văn hóa hiện tại. Và tôi đã thay đổi mẫu được sử dụng để phân tích cú pháp, vì nó có vẻ giống như nguồn của bạn dữ liệu ở yyyyMMdd
định dạng.
Tất nhiên, nếu có thể, bạn nên thay đổi lược đồ cơ sở dữ liệu để lưu trữ các giá trị ngày trong cột dựa trên ngày, thay vì dưới dạng văn bản.