从网上找到一篇不错的文章,对自己有用,所以记下来了。
希望对大家在以后的项目中能用到,我也是在项目中碰到了这个问题;
本文来自:http://www.dotblogs.com.tw/dc690216/archive/2009/09/13/10601.aspx
算算時間,接觸LINQ也有一個月的時間了,可以算是落伍兼新生,不過最近在寫專案的時候,遇到了在LINQ的Where條件式中要如何使用in與not in呢!? 這時候真的只能坐在位子上仰天長笑,開始懷念T-SQL其實你還是最好用滴。之後,為了讓自己日後開發時更為方便,於是花了一點時間,參考一些網路資料及MSDN後,得到以下的測試結果:(以下以北風資料庫為範本)
T-SQL的IN:
Select
ProductID, ProductName, CategoryID
From
dbo.Products
Where
not
CategoryID
in
(1, 2)
T-SQL的NOT IN:
Select
ProductID, ProductName, CategoryID
From
dbo.Products
Where
CategoryID
not
in
(1, 2)
or
Select
ProductID, ProductName, CategoryID
From
dbo.Products
Where
not
CategoryID
in
(1, 2)
LINQ的IN:
var queryResult = from p
in
db.Products
where (
new
int
?[] {1,2}).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
?[] { 1, 2 }).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))
分享到:
相关推荐
LiNQ 语句精典实例 LiNQ(Language Integrated Query)是一种强大的查询语言,允许开发者使用 SQL 语句风格的语法来查询和操作数据。下面是一些 LiNQ 语句的精典实例,展示了 LiNQ 的强大功能和灵活性。 基本语法 ...
Linq语句大全 Linq(Language Integrated Query)是一种强大的查询语言,能够对数据库、集合、XML等数据源进行查询和操作。Linq语句大全是Linq语句的集合,涵盖了Linq的各种用法和场景。 Select/Distinct操作符 ...
在本教程中,我们将聚焦于“学习LINQ工具”,特别是使用名为LINQPad的实用工具来实时编译和执行C# LINQ语句。 **LINQPad**是一款轻量级的IDE,专为编写、测试和运行LINQ查询而设计。它允许开发者快速尝试LINQ表达式...
一个比较有点特殊的转换,供大家参考一下,希望能够帮助想我一样对linq语句不太熟悉的伙伴!
**Linq 语句操作数据:增删改查** LINQ(Language Integrated Query,语言集成查询)是.NET Framework 3.5及更高版本引入的一种强大的数据查询技术。它允许开发者在C#或VB.NET等语言中以一种更自然、更符合编程语法...
LINQ语句在现代数据库查询中起到了越来越多的作用,相比sql语句,LINQ更简单,软件更易纠错。这段代码就是利用LINQ语句创建学生信息表。
### LINQ语句详解 #### 一、引言 LINQ(Language Integrated Query)是一种集成在.NET Framework 3.5及更高版本中的技术,它提供了一种统一的方式来进行查询操作,无论数据源是内存集合、数据库还是XML文档等。本...
该文档介绍了在前端js中对数据的处理,包括筛选、排序、分组等一系列操作,类似于sql语句
标题中的“最迷你的SQL数据库工具”指的是LINQPad,这是一款轻量级但功能强大的软件,主要用于测试和探索SQL查询以及使用LINQ语句。它允许开发者在直观的环境中编写、执行和查看SQL查询结果,同时也能方便地试验LINQ...
### LINQ语句详解 #### 一、简介 在.NET框架中,LINQ(Language Integrated Query)是一项重要的技术,它提供了强大的查询功能,并且能够很好地与C#等.NET语言集成。通过LINQ,开发人员可以使用类似SQL的语法来...
本篇将针对“Linq语句参考简单入门”这一主题进行深入的探讨。 首先,LINQ允许开发者使用一种统一的查询语法来处理各种类型的数据源,如数据库、XML文档、集合等。这种语法与SQL查询类似,但更符合面向对象编程的...
用LinQ语句在控制台编写的小小借书系统,初学者可以借用
### LINQ语句详解:Insert, Update, Delete 操作 #### 一、简述 **LINQ(Language Integrated Query)**是一种在.NET框架中提供的查询技术,它将查询语法融入到C#等语言中,使得数据操作如同在编程语言中进行普通...
在实际开发中,有时我们需要了解LINQ查询是如何转换为SQL语句的,以便于调试和优化性能。以下将详细介绍几种查看LINQ生成SQL语句的方法。 1. **Debug.WriteLine()** 在使用LINQ查询时,可以利用`Debug.WriteLine()...
Linq 将生成SQL语句显示出来 用于检查linq解析出来的sql语句。 很适合新手学习
Linq使用例子
LINQPad是集成了IDE和SQL的LINQ解析器。LINQPad有简单而实用的用户界面,可即时执行LINQ查询,包括LINQ to SQL、LINQ to Objects和LINQ to XML等多语句查询。
在本示例中,我们将深入探讨如何使用LINQ查询语句来实现高效的数据操作。 首先,LINQ的核心在于它的查询表达式,这是一种声明性编程方式,类似于SQL中的查询语句。在C#中,你可以通过`from`、`where`、`select`等...
C# (或 VB)语句 可执行多条C#或VB的LINQ表达式,LINQPad有Dump扩展方法,在执行期间发送对象和文本到结果窗格 C# (或 VB)程序 在Main()函数中编写要执行的代码,可在LINQPad编辑器中定义其他类型和方法进行测试。...