【问题标题】:Linq Using Contains On An ArrayLinq 在数组上使用包含
【发布时间】:2011-10-07 10:45:58
【问题描述】:

我正在尝试使用 linq 查询数据表,理想情况下我想做的是将一列字符串与一个字符串数组进行比较,返回匹配的那些。

有什么想法吗?

提前干杯

CM

【问题讨论】:

    标签: arrays linq datatable


    【解决方案1】:

    您需要使用DataRowExtensionsField<T> 方法之一。

    var foo = from r in dt.AsEnumerable()
              where bar.Contains(r.Field<string>("barColumn"))
              select r;
    

    【讨论】:

    • 传奇!感谢您的帮助。
    【解决方案2】:
    myDB.Where(x=> array.Contains(x));
    

    【讨论】:

    • 那是 Linq To SQL 吗?我似乎无法将语法转换为与 mt 数据表一起使用。
    • 某些 ORM 提供程序可能会导致此查询急切加载,这意味着在过滤包含之前将整个表加载到内存中。
    • @Daz Lewis,这是 linq2sql,我用 EF 的格式写的,我也没有看到其他 ORM 有这个问题,例如 linq2nhibernate 在这种情况下像 EF 一样工作。
    猜你喜欢
    • 2013-09-25
    • 2023-03-08
    • 1970-01-01
    • 2013-03-15
    • 2017-11-13
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    相关资源
    最近更新 更多