.net mvc lambda表达式Contains方法
来源:互联网 发布:用微博做淘宝客教程 编辑:程序博客网 时间:2024/06/06 00:40
Lambda表达式Contains方法(等价于SQL语句中的like)使用注意事项:
众所周知,想在EntityFrame实体框架中使用类似于SQL语句中like的效果时就的使用Contains方法了。可是关于Contains方法使用过程中会出现的细节问题,并没有专门的文章来指出来。
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(("查询条件")
- .net mvc lambda表达式Contains方法
- .NET中的Lambda表达式与匿名方法
- MVC Lambda表达式
- ASP.NET MVC学前篇之Lambda表达式、依赖倒置
- 匿名方法、Lambda表达式
- lambda表达式:方法引用
- 匿名方法 Lambda表达式
- ASP.NET MVC 5 (五)c#的lambda表达式、LinQ和Async异步处理
- [.NET]lambda表达式的优势
- 匿名方法和Lambda表达式
- 匿名方法与lambda表达式
- 匿名方法与lambda表达式
- 匿名方法 VS Lambda表达式
- 匿名方法和Lambda表达式
- 匿名方法 与 Lambda 表达式
- Lambda表达式理解【匿名方法】
- 匿名方法和lambda表达式
- lambda表达式作为方法参数
- 转:Objective-C规范注释心得
- Spring3.2.5.RELEASE+Quartz2.2.1的使用
- PostgreSQL连接C/C++接口实例
- 守护进程
- 什么是Docker?
- .net mvc lambda表达式Contains方法
- 淘宝卖家怎么注册淘宝小号
- 【二分查找】求一个double型数据的平方根
- 一个测试
- 总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告
- Linux下sort命令的使用
- 代码点和代码单元
- HDU1023(JAVA···高精度卡特兰数)
- poj 1007DNA Sorting解题报告