Java编程、C#/.NET编程、Python编程
Web前端、SQL数据库
新手编程1001问(7)
在EF中,如何使用Lambda表达式实现模糊查询?
【摘要】我们知道在sql中,可以通过like方法实现模糊查询。而在EF中,我们通常使用Lambda表达式实现各种复杂的数据查询,那么,类似于sql的like方法如何实现呢?
在EF中,我们通常使用Contains()方法来实现模糊查询。
C#中关于Contains方法的定义是:
bool x = string.Contains();
返回值为:true/false
案例:假如有一个实体数据列表myList,我们需要查询其中某字段fieldName的值中是否包含关键字keywords,这样的模糊查询就可以写成如下的样子:
我们需要特别注意的是,Contains()是一个字符串类型对象的方法,也就是说,它只能操作字符串。所以,如果我们遇上其他数据类型的模糊查询,就需要先将它转换为字符串类型,再使用Contains()方法。
此外,我们在使用Contains()方法时,一定要注意null值的判断。这是因为,我们从数据库里读取的数据,是可能存在null值的。而Contains方法遇到null值时是会报错的。
所以,我们在写查询方法时,代码应该写作: