6
我有一个查询,看起来像这样:如何使用SQL通配符在LINQ到实体框架
IQueryable<Profile> profiles = from p in connection.Profiles
where profile.Email.Contains(txtSearch)
select p;
我知道,当这个被转换为SQL它采用了LIKE '%<value of txtSearch>%'
但如果txtSearch = "jon%gmail.com"
它把它转换成` LIKE'%jon〜%gmail.com%'。 〜逃脱中间的百分比,这是一张通配符。我该如何解决这个问题?我需要能够将通配符放入我的LINQ to EF搜索中。
我创建的页面是一个管理页面所以我不担心SQL注入攻击,但是上面的方法不会让我知道SQL注入攻击吗? – 2011-03-25 13:27:14
我认为它确实,但实际上没有尝试它(请参阅我的评论以下代码段)。但你也可以使用带参数的版本 - 我将把它作为第二个例子添加。 – 2011-03-25 13:32:21