程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> LINQ to Entities 不識別方法“Int32 ToInt32(System.String)

LINQ to Entities 不識別方法“Int32 ToInt32(System.String)

編輯:C#入門知識

if (!String.IsNullOrEmpty(Year))             { //第一種方式                 var y = Convert.ToInt32(Year);                 pInfo = pInfo.Where(p => p.startTenderDate_T.Value.Year == y);   //第二種方式                 pInfo = pInfo.Where(p => p.startTenderDate_T.Value.Year == Convert.ToInt32(Year));             } 倆種方式的目的是一樣的 都是為了篩選日期 為Year的數據   但是第一種可以識別 第二種方式是 識別不了的(會報LINQ to Entities 不識別方法“Int32 ToInt32(System.String) 錯誤)   原因在於第二種的linq表達式中無法識別convert方法.   因為where裡面不能調用這種convert等C#方法 要麼在外面轉好了int類型添加進去 tostring等方法也不能放到where裡面調用 因為他要解析lamda表達式 而不是去解析C#的方法 你要了解這個 就必須深入了解lambda表達式的解析 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved