以前我在做东西的时候使用entity framework 进行数据库访问,然而在进行模糊查询的时候遇到了一些问题,我发现不能通过lambda表达式,或者linq表达式进行模糊查询。
我百度了很多答案,任然无法找到能像sql语句中like那样进行模糊查询。
最后我在国外网站里找到了可以想like 语句那样模糊查询的方法
Model1Container container=new Model1Container();
using (container)
{
//linq 表达式 like 模糊查询
IQueryable<Entity1> queryable = container.Entity1Set.Where(x => SqlFunctions.PatIndex("%x%j%k%", x.Property1) > 0);
List<Entity1> entity1s = queryable.ToList();
//linq 表达式 like 模糊查询
IQueryable<Entity1> queryable1 = from entity1 in container.Entity1Set
where
SqlFunctions.PatIndex("%x%", entity1.Property1) > 0
select entity1;
List<Entity1> list = queryable1.ToList();
}
原文地址:
http://stackoverflow.com/questions/1033007/like-operator-in-entity-framework