C# Lambda表达式Contains方法 like
1、使用Contains方法的必备条件:
Contains等价于SQL中的like语句。不过Contains只针对于字符串(string)类型的数据而言。如果是int等数值类型,则不会有Contains方法的存在,因此数值字段貌似无法通过使用Lambda表达式来完成like操作。因此在使用实体框架的同时,设计数据的时候如果想使用like请确保数据库字段为字符串类型(text、varchar等)。否则在想模糊查询的时候让你痛苦不堪。
2、Contains方法关联方法(均等价于SQL中的like[注意:这里为什么会说是等价呢,因为如下列出的方法均为Stirng里的方法。like的应用是不分字符类型的,数值行亦可]):
Contains等价于like '%key%' 指示指定的 String 对象是否出现在此字符串中。
EndsWith等价于like '%key' 确定此字符串实例的结尾是否与指定的字符串匹配。
StartsWith等价于like
'key%' 确定此字符串实例的开头是否与指定的字符串匹配。
3、使用Contains方法时前往不要忘记非NULL的判断:
写这边文章的原因来自,今天在使用Contains来做查询的时候,一直报错(未将对象引用设置到对象的实例。)。
一开始百思不得其解,经过跟踪和调试最后才发现数据库中如果存在值为NULL的值。
为什么会报错,看看如下的代码,想必大家也就知道其中的所以然了。
string str = null;
str.Contains("报错啦");//这里会报“未将对象引用设置到对象的实例。”错
因此不要忘记将代码
o.SearchKeyword.Contains("查询条件")
改写为:
o.SearchKeyword != null &&
o.SearchKeyword.Contains(("查询条件")
C# Lambda表达式Contains方法 like的更多相关文章
- JAVA8之Lambda表达式与方法引用表达式
一.Lambda表达式 基本语法: lambdaParameters->lambdaBody lambdaParameters传递参数,lambdaBody用于编写逻辑,lambda表达式会生成 ...
- 编写高质量代码改善C#程序的157个建议——建议150:使用匿名方法、Lambda表达式代替方法
建议150:使用匿名方法.Lambda表达式代替方法 方法体如果过小(如小于3行),专门为此定义一个方法就会显得过于繁琐.比如: static void SampeMethod() { List< ...
- 编写高质量代码改善C#程序的157个建议——建议37:使用Lambda表达式代替方法和匿名方法
建议37:使用Lambda表达式代替方法和匿名方法 在建议36中,我们创建了这样一个实例程序: static void Main(string[] args) { Func<int, int, ...
- java8 探讨与分析匿名内部类、lambda表达式、方法引用的底层实现
问题解决思路:查看编译生成的字节码文件 目录 测试匿名内部类的实现 小结 测试lambda表达式 小结 测试方法引用 小结 三种实现方式的总结 对于lambda表达式,为什么java8要这样做? 理论 ...
- java8的新特性之lambda表达式和方法引用
1.1. Lambda表达式 通过具体的实例去体会lambda表达式对于我们代码的简化,其实我们不去深究他的底层原理和背景,仅仅从用法上去理解,关注两方面: lambda表达式是Java8的一个语法糖 ...
- C#10新特性-lambda 表达式和方法组的改进
C# 10 中对Lambda的语法和类型进行了多项改进: 1. Lambda自然类型 Lambda 表达式现在有时具有"自然"类型. 这意味着编译器通常可以推断出 lambda 表 ...
- Java函数式编程:一、函数式接口,lambda表达式和方法引用
Java函数式编程 什么是函数式编程 通过整合现有代码来产生新的功能,而不是从零开始编写所有内容,由此我们会得到更加可靠的代码,并获得更高的效率 我们可以这样理解:面向对象编程抽象数据,函数式编程抽象 ...
- 十二、C# 委托与Lambda表达式(匿名方法的另一种写法)
委托与Lambda表达式 1.委托概述 2.匿名方法 3.语句Lambda 4.表达式Lambda 5.表达式树 一.委托概述 相当于C++当中的方法指针,在C#中使用delegate 委托来 ...
- Lambda表达式Contains方法(等价于SQL语句中的like)使用注意事项
貌似已经半年多没写一篇帖子了,充分的说明要么老总一天折腾的让人心齐疲惫,没心情去写:要么另外一种可能就是自己不思进取,说白了就是懒.好在这种状态在今天被打破了.MoNey加油. 众所周知,想在Enti ...
随机推荐
- 强大的 function adapters
void printElem(int elem, const char* prefix){ cout << prefix << elem << endl; } fo ...
- tensorflow 的版本差异与变化
官方文档的说明,Transitioning to TensorFlow 1.0 1. 简单列举如下 变量 tf.VARIABLES ⇒ tf.GLOBAL_VARIABLES tf.all_varia ...
- erlang 符号相关基本语法
http://blog.csdn.net/anghlq/article/details/6803332 ErLang语法约定: 大写字母开头的名字(比如Address),表示一个变量,包括参数.局部变 ...
- Erlang入门
Erlang简史(翻译) Erlang入门(二)—并发编程 Erlang入门(三)——分布式编程 Erlang入门(四)——错误处理和鲁棒性 Erlang入门(五)——补遗
- Mochiweb的设计分析
http://blog.csdn.net/dp0304/article/details/6994435 Web服务器的基本工作大致分3步: 接收HTTP请求: 处理HTTP请求,生成响应内容: 发送响 ...
- 【37.68%】【hdu 5918】Sequence I
Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s) ...
- 简单的JAVA MVC框架模式--Java-servlet-JavaBean
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码 ...
- WPF 使用 Edge 浏览器
原文:WPF 使用 Edge 浏览器 版权声明:博客已迁移到 http://lindexi.gitee.io 欢迎访问.如果当前博客图片看不到,请到 http://lindexi.gitee.io 访 ...
- 《深入浅出WPF》笔记——资源篇
原文:<深入浅出WPF>笔记--资源篇 前面的记录有的地方已经用到了资源,本文就来详细的记录一下WPF中的资源.我们平时的“资源”一词是指“资财之源”,是创造人类社会财富的源泉.在计算机程 ...
- MySQL 关键字和保留字
ACCESSIBLE (R) ACCOUNT[a] ACTION ADD (R) AFTER AGAINST AGGREGATE ALGORITHM ALL (R) ALTER (R) ALWAYS[ ...