在linq查詢中有一個'where'子句,我必須將一個int轉換爲一個字符串,我曾試着在SO中讀過類似的遭遇,但我仍然在應用解決方案時遇到困難我的方法。這是將拋出'System.Web.HttpUnhandledException'錯誤的行,任何幫助表示讚賞:在Linq中將int轉換爲字符串where子句
(!p.ProductID = NULL & & p.ProductID.ToString()包含(S)):
public void search(string s)
{
CommerceEntities db = new CommerceEntities();
var products = from p in db.Products
where (p.ModelName != null && p.ModelName.Contains(s))
|| (p.ProductID != null && p.ProductID.ToString().Contains(s))
|| (p.ModelNumber != null && p.ModelNumber.Contains(s))
|| (p.Description != null && p.Description.Contains(s))
select new
{
// Display the items
ProductID = p.ProductID,
ProductImage = p.ProductImage,
UnitCost = p.UnitCost
};
ListView_Products.DataSourceID = null;
ListView_Products.DataSource = products;
}
也許你需要使用'SqlFunctions.StringConvert' – V4Vendetta 2011-06-15 10:44:15
只是一個問題,你想投一個int一個字符串,然後看看鑄造字符串包含字符串?這隻會工作,如果S是一個int,以及?爲什麼不傳遞一個int而不是一個字符串 – MBen 2011-06-15 10:46:14