Linq in not in\like not like
别人的博客 http://blog.163.com/lesheng@126/blog/static/357364652010102111051668/
using System.Data.Linq.SqlClient;//程序集 System.Data.Linq
string haveKey = Request.Form["haveKey"];
if (haveKey != null && haveKey.Length > )
{
haveKey = string.Format("%{0}%", haveKey);
list = from q in list
where SqlMethods.Like(q.Name, haveKey)
select q;
}
string noKey = Request.Form["noKey"];
if (noKey != null && noKey.Length > )
{
noKey = string.Format("%{0}%", noKey);
list = from q in list
where !SqlMethods.Like(q.Name, noKey)
select q;
}
-SQL的IN: Select ProductID, ProductName, CategoryID
From dbo.Products
Where CategoryID in (, ) T-SQL的NOT IN: Select ProductID, ProductName, CategoryID
From dbo.Products
Where CategoryID not in (, ) Or Select ProductID, ProductName, CategoryID
From dbo.Products
Where not CategoryID in (, ) LINQ的IN: var queryResult = from p in db.Products
where (new int?[] {,}).Contains(p.CategoryID)
select p; LINQ的IN解析成SQL: SELECT [t0].[ProductID], [t0].[ProductName], [t0].[SupplierID], [t0].[CategoryID], [t0].[QuantityPerUnit], [t0].[UnitPrice], [t0].[UnitsInStock], [t0].[UnitsOnOrder], [t0].[ReorderLevel], [t0].[Discontinued]
FROM [dbo].[Products]AS [t0]
WHERE [t0].[CategoryID] IN (@p0, @p1) LINQ的NOT IN: var queryResult = from p in db.Products
where ! (new int?[] {,}).Contains(p.CategoryID)
select p; LINQ的NOT IN解析成SQL: SELECT [t0].[ProductID], [t0].[ProductName], [t0].[SupplierID], [t0].[CategoryID], [t0].[QuantityPerUnit], [t0].[UnitPrice], [t0].[UnitsInStock], [t0].[UnitsOnOrder], [t0].[ReorderLevel], [t0].[Discontinued]
FROM [dbo].[Products]AS [t0]
WHERE NOT [t0].[CategoryID] IN (@p0, @p1)
以下是我的实现:
GreenhouseBll ghBll = new IntelBLL.GreenhouseBll();
List<GreenhouseModel> ghList = ghBll.GreenhouseUserSel(user.EnterpriseID, user.DistrictID, user.UserID); string noKey = "S%_S%";
var expGh = from q in ghList
where !SqlMethods.Like(q.GreenhouseName, noKey)
select q; return Content("{\"total\":" + expGh.Count().ToString() + ",\"data\":" + new JavaScriptSerializer().Serialize(expGh.ToList()) + "}");
but,报错了:无法在客户端上使用方法“Boolean Like(System.String, System.String)”;它仅可用于转换为 SQL。┭┮﹏┭┮
看来我应该搜 linq to Entity not like
博客地址 https://www.cnblogs.com/mbailing/archive/2010/10/26/LinqToEntity.html
Linq to entity indexof ()方法想当于 sql 中的like 语句,
但在 sql 中 like '010%' 是用来过滤以 '010' 开头的数据。
like '%010%' 是用来过滤 包含 010 的数据。
原本以为 linq to entity indexof() 方法能实现 like '010%'的效果,但是在实际中使用才发现,它其实实现的是 like '%010%' 的效果。
我的问题是,linq to entity 如何实现 sql 中 like '010%' 的查询效果,即查找开头为010的数据。
答案:用StartWith () 方法可以实现 sql 中 like '010%'的效果,它是从开头字母做比对。
indexof() 方法是 比对字符串中包含。
我的用法:like都出来了,not like 还远吗?
var expGh = from q in ghList
where q.GreenhouseName.IndexOf('S')==-
select q; return Content("{\"total\":" + expGh.Count().ToString() + ",\"data\":" + new JavaScriptSerializer().Serialize(expGh.ToList()) + "}");
原来的效果:
过滤后:
原来记个博客也花不了多少时间嘛
Linq in not in\like not like的更多相关文章
- Linq表达式、Lambda表达式你更喜欢哪个?
什么是Linq表达式?什么是Lambda表达式? 如图: 由此可见Linq表达式和Lambda表达式并没有什么可比性. 那与Lambda表达式相关的整条语句称作什么呢?在微软并没有给出官方的命名,在& ...
- Linq之旅:Linq入门详解(Linq to Objects)
示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...
- [C#] 走进 LINQ 的世界
走进 LINQ 的世界 序 在此之前曾发表过三篇关于 LINQ 的随笔: 进阶:<LINQ 标准查询操作概述>(强烈推荐) 技巧:<Linq To Objects - 如何操作字符串 ...
- [C#] 进阶 - LINQ 标准查询操作概述
LINQ 标准查询操作概述 序 “标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法.大多数这些方法都在序列上运行,其中的序列是一个对象,其类型实现了IEnumerable<T> ...
- LINQ to SQL语句(7)之Exists/In/Any/All/Contains
适用场景:用于判断集合中元素,进一步缩小范围. Any 说明:用于判断集合中是否有元素满足某一条件:不延迟.(若条件为空,则集合只要不为空就返回True,否则为False).有2种形式,分别为简单形式 ...
- .NET深入实战系列—Linq to Sql进阶
最近在写代码的过程中用到了Linq查询,在查找资料的过程中发现网上的资料千奇百怪,于是自己整理了一些关于Linq中容易让人困惑的地方. 本文全部代码基于:UserInfo与Class两个表,其中Cla ...
- LINQ Group By操作
在上篇文章 .NET应用程序与数据库交互的若干问题 这篇文章中,讨论了一个计算热门商圈的问题,现在在这里扩展一下,假设我们需要从两张表中统计出热门商圈,这两张表内容如下: 上表是所有政区,商圈中的餐饮 ...
- Entity Framework 6 Recipes 2nd Edition(11-9)译 -> 在LINQ中使用规范函数
11-9. 在LINQ中使用规范函数 问题 想在一个LINQ查询中使用规范函数 解决方案 假设我们已经有一个影片租赁(MovieRental )实体,它保存某个影片什么时候租出及还回来,以及滞纳金等, ...
- Entity Framework 6 Recipes 2nd Edition(11-11)译 -> 在LINQ中调用数据库函数
11-11. 在LINQ中调用数据库函数 问题 相要在一个LINQ 查询中调用数据库函数. 解决方案 假设有一个任命(Appointment )实体模型,如Figure 11-11.所示, 我们想要查 ...
- Entity Framework 6 Recipes 2nd Edition(13-6)译 -> 自动编译的LINQ查询
问题 你想为多次用到的查询提高性能,而且你不想添加额外的编码或配置. 解决方案 假设你有如Figure 13-8 所示的模型 Figure 13-8. A model with an Associat ...
随机推荐
- Java基础语法--IDEA快捷键
Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ ...
- java主方法组成分析
public static void main(String args[]) public :是一种访问权限,主方法是一切的开始点,开始点一定是公共的 static :表示此方法可由类直接调用 voi ...
- shell脚本每隔几秒执行
while true do cmd(shell 命令) sleep x(x为秒数) done ————————————————版权声明:本文为CSDN博主「这年头起名真难3232」的原创文章,遵循 C ...
- oracle_fdw安装及使用(无法访问oracle存储过程等对象)
通过oracle_fdw可以访问oracle中的一些表和视图,也可以进行修改,尤其是给比较复杂的系统使用非常方便. (但不能使用oracle_fdw来访问oracle的存储过程.包.函数.序列等对象) ...
- 打印 PRINT
打印 PRINT 字符串和数值类型 可以直接输出. print(1) #out:1 print('a') #out:a 变量 无论什么类型,数值,字符串,列表,字典...都可以直接输出 n = 1 s ...
- webpack初体验之模块化开发
写在前面的话 上次写过一篇关于webpack入门的博客,当时只是说借助node来完成开发,并用webpack打包以让浏览器识别.其实其主要思想就是实现前端模块化开发. 众所周知,历史上,JavaScr ...
- P3958奶酪
这个题是2017noip提高组的真题,是一个深度搜索题,得分轨迹:10-80-100pts. 在三维空间里,存在可能连通的洞(半径r),问是否可以通过这些洞从底部到达顶部.一开始我联想到了01迷宫,以 ...
- python字符串替换的2种方法
python 字符串替换可以用2种方法实现:1是用字符串本身的方法.2用正则来替换字符串 下面用个例子来实验下:a = 'hello word'把a字符串里的word替换为python 1.用字符串本 ...
- [VINS]IMU与相机之间旋转量的标定
VINS-Mono[1]中IMU-Camera外参旋转量\(R_b^c\)的计算方法在他们实验室发的之前的论文有详细讲解[2].视觉利用匹配特征点中的基础矩阵求出相机坐标系下两帧的旋转量\(R_{c_ ...
- SpringMVC_放行静态资源
静态资源到处都是坑!明白原理才能绕过这些坑! web.xml配置servlet中四种路径的区别 在web.xml文件的配置中,四种路径编写方式优先级如下图: 其中b和d都能接收所有请求,仅仅是在优先级 ...