2013-10-30 108 views
0

嗨,我有一個問題,我希望你能幫助我通過它即時通訊對實體進行選擇查詢工作,我需要什麼樣的?REQID = 2通過實體進行選擇查詢

網址做出選擇由ID

這是我試圖解決問題的代碼,但它給出了以下消息: LINQ to Entities無法識別方法'Int32 ToInt32(System.String)'方法,並且此方法無法轉換爲存儲表達式。

string a = Request.QueryString["reqid"].ToString(); 

MasterPackEntities obj = new MasterPackEntities(); 
var ds = obj.news.Where(x => x.id == Convert.ToInt32(a)).ToList(); 

回答

0

你得到這個錯誤,因爲LINQ to Entities嘗試翻譯Convert.ToInt32作爲一個SQL語句,失敗了。你可以這樣做:

int a = Convert.ToInt32(Request.QueryString["reqid"].ToString()); 

MasterPackEntities obj = new MasterPackEntities(); 
var ds = obj.news.Where(x => x.id == a).ToList(); 
3

做轉換外查詢的,因爲轉換不能被查詢提供商來理解:

//consider using `TryParse` to handle invalid input 
int a = int.Parse(Request.QueryString["reqid"].ToString()); 

MasterPackEntities obj = new MasterPackEntities(); 
var ds = obj.news.Where(x => x.id == a).ToList();