我想顯示以某個字符結尾的SQL數據庫中的名稱,但它不會讓我在Controller ActionResult中使用WildCard。C#MVC - 在LINQ查詢中使用LIKE
這是我想要工作的當前代碼。
public ActionResult GetClients()
{
MyDBEntities myDBEntites = new MyDBEntities();
var clients = from c in myDBEntites.Client
where c.name LIKE '%r'
select c;
return View(clients);
}
我在這裏錯過了什麼工作?如果它不使用通配符,那麼如何獲得以特定字符結尾的名稱?
不能在LINQ據我所知做'LIKE'。做'WHERE c.name.EndsWith(「r」)' – apokryfos
@apokryfos謝謝!我想知道爲什麼WildCard沒有工作,我的意思是它像一個完整的SQL代碼,除了通配符。奇怪的。 – Dolev
LINQ與SQL相似但不相同。這只是不同的查詢語言。編譯器會盡可能將LINQ轉換爲SQL,因此在執行查詢時,如果'.EndsWith'實際上在SQL中被轉換爲'LIKE',我不會感到驚訝。 – apokryfos