将System.Linq.IorderedEnumerable转换为DataView

时间:2009-10-13 01:05:00

标签: vb.net linq dataset dataview

我正在尝试从查询类型化数据集的linq查询表达式中获取DataView。结果存在于System.linq.IOrderedEnumerable类型中。但我无法将此类型转换为Dataview,尽管互联网上的一些示例说AsDataView函数可以正常工作,但是请您详细说明为什么方法AsDataView没有在查询中公开。

示例代码:

Dim SortedRates = From rateDetail In ratesDetail _
                  Select RateName = ("(" & rateDetail.RateType & ") - " & rateDetail.Name), _
                                     RateID = rateDetail.RateID _
                                     Order By RateName Ascending

Dim dv1 As New DataView
 dv1 = SortedRates

我不能做SortedRates.AsDataView,我也不能直接将SortedRates转换为dv1。

请帮忙。

感谢。 Khurram。

1 个答案:

答案 0 :(得分:2)

AsDataView方法仅适用于DataRows的集合。

您尝试做的事情是不可能的,因为DataView必须包装DataTable。

执行此操作的唯一方法是从查询中创建DataTable并为该DataTable创建DataView。

为什么需要DataView?