Tôi có một số dữ liệu sắp ra của một DB mà tôi không thể dễ dàng thay đổi lược đồ. Tôi muốn sắp xếp nó và liên kết nó với một điều khiển dựa trên một số ID. Vấn đề là API lưu trữ số trong một trường chuỗi thay vì như là một thanh công cụ int
và LINQ trên nỗ lực chuyển đổi.Làm thế nào để OrderBy một số nguyên trong một trường chuỗi trong một truy vấn LINQ
myControl.DataSource = dataFromDB.OrderBy(o => int.Parse(o.StringHoldingAnInt));
LINQ to Entities không nhận ra phương pháp 'Int32 Parse (System.String)' phương pháp, và phương pháp này không thể được dịch sang một biểu hiện cửa hàng.
Convert.ToInt32
cũng không hoạt động.
LINQ to Entities không nhận ra phương thức 'Int32 ToInt32 (System.String)' và phương pháp này không thể được dịch sang biểu thức cửa hàng.
Phân loại như là một chuỗi là không phù hợp vì các giá trị không phải là tất cả cùng độ dài và nó sẽ ra lệnh cho họ như thế này: 1, 10, 11, 2, 3 ..
bao nhiêu dữ liệu là có? Nó sẽ là khả thi để sắp xếp ở phía khách hàng? – dlev
Bạn có thể cố gắng để pad chuỗi với '0' để tất cả đều có cùng độ dài ... nhưng tôi không chắc chắn String.PadLeft được hỗ trợ bởi LINQ. –
@dlev vài trăm hàng trong DB, chỉ vài chục hàng sau truy vấn Where() tôi bỏ qua từ câu hỏi của mình. –