星期二, 8月 19, 2014

[LINQ] 指定轉換無效

自我練習 LINQ 時,發生這個問題 - 指定轉換無效

[LINQ] 指定轉換無效-1

後來發現 SQL Server 內該欄位資料型態為 tinyint,其對應 .NET 資料型態為 byte,並不是 int,Orz ~~

    SQL Server ChildOrder 欄位資料型態
[LINQ] 指定轉換無效-2
    MSDN int 相關對應表
SQL Server.NET Framework
bigintInt64
intInt32
smallintInt16
tinyintByte

把 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;

沒有留言:

張貼留言