您的位置:首页 > 编程语言 > ASP

ASP.NET MVC5--Contains

2015-06-20 20:28 633 查看
前言:

*TheContainsmethodisrunonthedatabase,notthec#codeabove.Onthedatabase,ContainsmapstoSQLLIKE,whichiscaseinsensitive.

这句话的意思是Contains()方法,运行在数据库中,而不是C#代码上,在数据库中,Contains就像SQL中的LIKE关键字,它是大小写敏感的。

一:我们来为Index页面添加一个模糊查询,在控制器中找到Index方法,修改如下:

publicActionResultIndex(stringsearchString)
{

varmovies=frommindb.Moviesselectm;

if(!string.IsNullOrEmpty(searchString))
{
movies=movies.Where(s=>s.Title.Contains(searchString));
}
returnView(movies);
}


执行完

varmovies=frommindb.Moviesselectm;

这句代码之后,我们侦听到movies执行的SQL语句为:


SELECT
[Extent1].[ID]AS[ID],
[Extent1].[Title]AS[Title],
[Extent1].[ReleaseDate]AS[ReleaseDate],
[Extent1].[Genre]AS[Genre],
[Extent1].[Price]AS[Price]
FROM[dbo].[Movies]AS[Extent1]


执行完这句之后movies的SQL语句为:

SELECT
[Extent1].[ID]AS[ID],
[Extent1].[Title]AS[Title],
[Extent1].[ReleaseDate]AS[ReleaseDate],
[Extent1].[Genre]AS[Genre],
[Extent1].[Price]AS[Price]
FROM[dbo].[Movies]AS[Extent1]
WHERE[Extent1].[Title]LIKE@p__linq__0ESCAPEN'~'


可以看得出来,Contains方法,生成了Like后面的语句。


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: