博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linq中的contains条件
阅读量:5891 次
发布时间:2019-06-19

本文共 595 字,大约阅读时间需要 1 分钟。

 

在sql查询语句中,in 在linq 中用contains,并且contains前面是数组,而后面是列名,如:

 

SELECT distinct BH FROM cd  where (LB = '身份') AND (LM IN ('合同工','临时工'))

转换成Linq 是这样的:

如果sf是变量,是在程序中根据用户选择的条件临时添加的,sf可以为空,也可不为空,

在程序中定义sf,在程序中赋值为:sf="合同工","临时工"

 

var IDquery = from c in jtdc.CataLogDetails
                     where  (c.LB == "身份" && new string[] {sf}.Contains(c.LM))                 
                     select g.Key.BH;

如果用IDQuery查询的话就查询不出来,因为sf 在此是一个string 类型的变量,new string[] {sf},这个数组中的长度是1,而不是二,也就不会根据“合同工”和“临时工”来找,因此就没有查询结果。

因此只能用sf.split(',')产生数组来查询

所以正确的LINQ语句是: 

 

var IDquery = from c in jtdc.CataLogDetails
                     where  (c.LB == "身份" && sf.Split(',').Contains(c.LM))                 
                     select g.Key.BH;

转载地址:http://lmysx.baihongyu.com/

你可能感兴趣的文章
Eclipse中修改代码格式
查看>>
关于 error: LINK1123: failure during conversion to COFF: file invalid or corrupt 错误的解决方案...
查看>>
Linux 进程中 Stop, Park, Freeze【转】
查看>>
PHP盛宴——经常使用函数集锦
查看>>
重写 Ext.form.field 扩展功能
查看>>
Linux下的搜索查找命令的详解(locate)
查看>>
安装gulp及相关插件
查看>>
如何在Linux用chmod来修改所有子目录中的文件属性?
查看>>
Hyper-V 2016 系列教程30 机房温度远程监控方案
查看>>
笔记:认识.NET平台
查看>>
cocos2d中CCAnimation的使用(cocos2d 1.0以上版本)
查看>>
【吉光片羽】短信验证
查看>>
gitlab 完整部署实例
查看>>
GNS关于IPS&ASA&PIX&Junos的配置
查看>>
影响企业信息化成败的几点因素
查看>>
SCCM 2016 配置管理系列(Part8)
查看>>
struts中的xwork源码下载地址
查看>>
ABP理论学习之仓储
查看>>
我的友情链接
查看>>
CentOS图形界面和命令行切换
查看>>