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(("查询条件")
最新文章
- LEETCODE —— Populating Next Right Pointers in Each Node
- 你知道什么是Grunt么?
- 深入探讨 java.lang.ref 包
- JavaScript高级程序设计笔记 事件冒泡和事件捕获
- Shell 环境变量 &; 参数变量
- Javascript delete 引用类型对象
- visifire3.6.8 去水印方法
- Python 基础篇:介绍
- jQuery中的join方法
- Unity3D 之3D游戏入门Hello world(一)
- iframe顶部跳转跨域问题
- NSSet使用小结
- 把linux可执行程序做成一个服务[转]
- C#实现拷贝对象
- CentOS 7 使用yum安装出现错误
- 生成SSH密钥添加到GitHub
- zabbix通过自动发现tomcat应用端口监控连接数
- Android 提高 gradle 的编译速度
- Python 解决Python安装包时提示Unable to find vcvarsall.bat的问题
- lamda匿名函数(与sorted(),filter(),map() 一起用), 递归函数, 二分查找
热门文章
- [Javascript] Write a function pipeline
- 找不到头文件xxxxx.h file not found
- Erlang 转至维基百科
- NOIP模拟 Date - Tarjan
- TensorFlow 学习(九)—— 初始化函数(概率分布函数 api、常数生成函数)
- Cordova-Android-Android target:not installed
- win10 支持默认把触摸提升鼠标事件 打开 Pointer 消息
- dotnet core 使用 sqlite 部署到 Centos 服务器
- Python 图像处理: 生成二维高斯分布蒙版
- IT企业级应?开发模式演化