zoukankan      html  css  js  c++  java
  • LINQ 如何实现 in 与 not in

    T-SQL的IN:
    
    Select ProductID, ProductName, CategoryID
    From dbo.Products
    Where 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)
  • 相关阅读:
    括号序列
    乘积最大
    装箱问题
    开心的金明
    金明的预算方案(有依赖的背包问题)
    砝码称重
    (枚举)算法竞赛入门经典(7.1.2)最大乘积
    (枚举)算法竞赛入门经典(7.1.1)除法
    Zabbix历史数据清理
    sonarqube6.7.1使用
  • 原文地址:https://www.cnblogs.com/qixuejia/p/3973101.html
Copyright © 2011-2022 走看看