後來發現 SQL Server 內該欄位資料型態為 tinyint,其對應 .NET 資料型態為 byte,並不是 int,Orz ~~
- SQL Server ChildOrder 欄位資料型態
- MSDN int 相關對應表
| SQL Server | .NET Framework |
|---|---|
| bigint | Int64 |
| int | Int32 |
| smallint | Int16 |
| tinyint | Byte |
把 OrderBy 中 Field 資料型態改為 byte 就 pass
IEnumerable<datarow> demo = from dr in dt.AsEnumerable()
where dr.Field<string>("ParentID").Trim() == "R"
orderby dr.Field<byte>("ChildOrder")
select dr;
![[LINQ] 指定轉換無效-1](https://farm4.staticflickr.com/3913/14882342705_e4d381097f_z.jpg)
![[LINQ] 指定轉換無效-2](https://farm4.staticflickr.com/3899/14882342865_0f2f3b71c4_o.jpg)
沒有留言:
張貼留言