`
zhaole609
  • 浏览: 342717 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

linq 语句

 
阅读更多

从网上找到一篇不错的文章,对自己有用,所以记下来了。

希望对大家在以后的项目中能用到,我也是在项目中碰到了这个问题;

本文来自: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 语句精典实例 LiNQ(Language Integrated Query)是一种强大的查询语言,允许开发者使用 SQL 语句风格的语法来查询和操作数据。下面是一些 LiNQ 语句的精典实例,展示了 LiNQ 的强大功能和灵活性。 基本语法 ...

    linq语句大全(笔记)

    Linq语句大全 Linq(Language Integrated Query)是一种强大的查询语言,能够对数据库、集合、XML等数据源进行查询和操作。Linq语句大全是Linq语句的集合,涵盖了Linq的各种用法和场景。 Select/Distinct操作符 ...

    学习LINQ工具,可以实时编译C#LINQ语句

    在本教程中,我们将聚焦于“学习LINQ工具”,特别是使用名为LINQPad的实用工具来实时编译和执行C# LINQ语句。 **LINQPad**是一款轻量级的IDE,专为编写、测试和运行LINQ查询而设计。它允许开发者快速尝试LINQ表达式...

    将sql语句转换成为linq语句

    一个比较有点特殊的转换,供大家参考一下,希望能够帮助想我一样对linq语句不太熟悉的伙伴!

    Linq 语句操作数据 增删改查

    **Linq 语句操作数据:增删改查** LINQ(Language Integrated Query,语言集成查询)是.NET Framework 3.5及更高版本引入的一种强大的数据查询技术。它允许开发者在C#或VB.NET等语言中以一种更自然、更符合编程语法...

    LINQ语句在数据查询中的应用

    LINQ语句在现代数据库查询中起到了越来越多的作用,相比sql语句,LINQ更简单,软件更易纠错。这段代码就是利用LINQ语句创建学生信息表。

    LINQ语句详解

    ### LINQ语句详解 #### 一、引言 LINQ(Language Integrated Query)是一种集成在.NET Framework 3.5及更高版本中的技术,它提供了一种统一的方式来进行查询操作,无论数据源是内存集合、数据库还是XML文档等。本...

    linq语句用法文档

    该文档介绍了在前端js中对数据的处理,包括筛选、排序、分组等一系列操作,类似于sql语句

    最迷你的SQL数据库工具 是你联系LINQ语句和语法的最佳选择

    标题中的“最迷你的SQL数据库工具”指的是LINQPad,这是一款轻量级但功能强大的软件,主要用于测试和探索SQL查询以及使用LINQ语句。它允许开发者在直观的环境中编写、执行和查看SQL查询结果,同时也能方便地试验LINQ...

    linq语句.txt

    ### LINQ语句详解 #### 一、简介 在.NET框架中,LINQ(Language Integrated Query)是一项重要的技术,它提供了强大的查询功能,并且能够很好地与C#等.NET语言集成。通过LINQ,开发人员可以使用类似SQL的语法来...

    Linq语句参考(简单入门)

    本篇将针对“Linq语句参考简单入门”这一主题进行深入的探讨。 首先,LINQ允许开发者使用一种统一的查询语法来处理各种类型的数据源,如数据库、XML文档、集合等。这种语法与SQL查询类似,但更符合面向对象编程的...

    用LinQ语句在控制台编写的借书系统

    用LinQ语句在控制台编写的小小借书系统,初学者可以借用

    LINQ语句

    ### LINQ语句详解:Insert, Update, Delete 操作 #### 一、简述 **LINQ(Language Integrated Query)**是一种在.NET框架中提供的查询技术,它将查询语法融入到C#等语言中,使得数据操作如同在编程语言中进行普通...

    查看LINQ生成SQL语句的几种方法

    在实际开发中,有时我们需要了解LINQ查询是如何转换为SQL语句的,以便于调试和优化性能。以下将详细介绍几种查看LINQ生成SQL语句的方法。 1. **Debug.WriteLine()** 在使用LINQ查询时,可以利用`Debug.WriteLine()...

    Linq 将生成SQL语句显示出来

    Linq 将生成SQL语句显示出来 用于检查linq解析出来的sql语句。 很适合新手学习

    LINQ语句使用方法资料

    Linq使用例子

    LINQ 语句测试软件 LINQPad

    LINQPad是集成了IDE和SQL的LINQ解析器。LINQPad有简单而实用的用户界面,可即时执行LINQ查询,包括LINQ to SQL、LINQ to Objects和LINQ to XML等多语句查询。

    LINQ查询语句用法示例

    在本示例中,我们将深入探讨如何使用LINQ查询语句来实现高效的数据操作。 首先,LINQ的核心在于它的查询表达式,这是一种声明性编程方式,类似于SQL中的查询语句。在C#中,你可以通过`from`、`where`、`select`等...

    最小巧的数据库管理工具,联系Linq语句的最佳工具,小巧方便,功能强大!

    C# (或 VB)语句 可执行多条C#或VB的LINQ表达式,LINQPad有Dump扩展方法,在执行期间发送对象和文本到结果窗格 C# (或 VB)程序 在Main()函数中编写要执行的代码,可在LINQPad编辑器中定义其他类型和方法进行测试。...

Global site tag (gtag.js) - Google Analytics