【问题标题】:SQL Server "in" equivalent in .Net.Net 中的 SQL Server“in”等效项
【发布时间】:2011-12-28 14:43:37
【问题描述】:

我有兴趣学习:

Select * from Customer where CustomerId in(12,23,45);

类似地,上面是否有任何 C#.Net 关键字?

示例:验证 Date(month) 不在 Oct, Nov Dec.(不在 SQL 或 LINQ 中)

我使用扩展方法(三元运算符||通过月份验证) 我正在寻找简单的方法来验证是否存在。

【问题讨论】:

    标签: c#


    【解决方案1】:

    没有关键字,但是您可以使用以下构造:

    using System.Linq;
    ...
    (new [] {12, 23, 45}).Contains(customerID)
    

    【讨论】:

    • 次要注意:如果包含集很大,则可能值得HashSet<> - 但前提是很大
    【解决方案2】:

    不,没有,但您可以执行以下操作:

    bool contains = (new string[] {"Oct","Nov","Dec"}).Contains("Dec");
    

    【讨论】:

      【解决方案3】:

      您需要记住,在查询 SQL 数据库时有一个限制:设置您要搜索的项目不能超过 2100 个,因为每个项目都作为单独的参数和 SQL 传递给 sql server服务器允许每个查询最多 2100 个参数。 因此,除非您确定在可搜索集中不会有这么多项目,否则我建议您使用 this 之类的内容。

      【讨论】:

        猜你喜欢
        • 2013-04-05
        • 1970-01-01
        • 2010-12-25
        • 2011-04-30
        • 2023-03-07
        • 2020-07-22
        • 2015-03-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多