我想显示以某个字符结尾的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