如何在没有System.Data的情况下使用AsEnumerable

时间:2017-02-20 22:51:07

标签: c# linq

我有一个项目,由于命名空间冲突,我不想在我的cs文件顶部包含System.Data和“using”。

但是,我想使用一个使用.AsEnumerable()的LINQ语句,它位于System.Data中。

有没有办法编写我的LINQ语句,以便.AsEnumerable()知道它来自System.Data?

像...一样的东西。

var x = myTable.System.Data.AsEnumerable();

3 个答案:

答案 0 :(得分:3)

x

变为

someDataTable.AsEnumerable()

答案 1 :(得分:0)

您可以从DataTableExtensions类导入静态成员(扩展方法是静态的)

using static System.Data.DataTableExtensions;

之后.AsEnumerable()扩展程序可用:

myTable.AsEnumerable()

答案 2 :(得分:0)

您可以枚举没有扩展名的DataRows,并避免.AsEnumerable开销:

var rows = dataTable.Rows.Cast<DataRow>();

That is what .AsEnumerable uses, but it also does some extra stuff that are not needed in most cases