在Microsoft SQL Server Management Studio中我運行下面的查詢:C#實體框架db.Database.SqlQuery SQL LIKE返回不同的行到SQL Server Management Studio中
SELECT [shop_name]
FROM [vShop]
WHERE [shop_name] LIKE '%p%'
我回來3個結果:
shop_name
---------
Phase Eight
shop 7
8th shop
當運行在C#下面,我得到以下2個結果,當我期望得到同樣的3如上:
shop_name
---------
shop 7
8th shop
這是使用實體框架的C#代碼錯誤地僅得到2結果
sQ += "SELECT [shop_name] AS name ";
sQ += "FROM vShop ";
SqlParameter q1 = new SqlParameter("q1", "%"+q+"%");
object[] parameters = new object[] { q1 };
rtn = db.Database.SqlQuery<shopB>(sQ + " WHERE [shop_name] like @q1", parameters).Skip(iSkip).Take(iTake).ToList();
我可以看到它有事情做與像通配符條款,但不能找到一個解決方案,以獲得正確的3個結果C#。你爲什麼不使用它的功能 -
如果您使用實體框架的任何幫助將是巨大的感謝
檢查'iSkip'和'iTake'值。附:用現代IDE命名變量是否真的需要「匈牙利符號」風格? – Fabio