• LINQ


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

    算算時間,接觸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))

  • 相关阅读:
    php memcache分布式和要注意的问题
    PHP延迟静态绑定(本文属于转发)
    WebSocket实战
    HTML5本地存储(Local Storage) 的前世今生
    HTML5本地存储——IndexedDB
    HTML5 FileReader
    HTML5 FormData对象
    2017-2018-1 20155225 实验四 外设驱动程序设计
    2017-2018-1 20155225 《信息安全系统设计基础》第十一周学习总结
    Linux下的IPC机制
  • 原文地址:https://www.cnblogs.com/a-dou/p/5916895.html
Copyright © 2020-2023  润新知