LINQ查询到DataTable

时间:2015-12-12 09:37:56

标签: .net vb.net linq datatable

在这一点上我的深度!我在DataSet设计师中设计了DataSet。我通过xml文件导入/导出数据。因此,我不使用数据连接,因此无法弄清楚如何构建查询(因为这些似乎需要一个表适配器,而这又需要数据连接)。

因此尝试通过LINQ连接构建查询。简化代码:

    Imports System.Data
    Imports System.Linq

        Public Class Configuration

            Public FullSystem As New DataTable

             Private Sub Configuration_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
                    call ConstructQueryTables()
            End Sub

            Private Sub ConstructQueryTables()
                Dim GEEmus As DataTable = GemDSConfig.Tables("UserEmulators")
                Dim SysSetups As DataTable = GemDSConfig.Tables("SystemsSetups")

                Dim query = From SysSetup In SysSetups.AsEnumerable() From GEEmu In GEEmus.AsEnumerable() _
                    Where SysSetup.Field(Of Integer)("UserEmuID") = GEEmu.Field(Of Integer)("ID")
                    Select SysSetup

                FullSystem = query.copytodatatable()

            End Sub

        end class

并导致错误:

System.MissingMemberException: Public member 'copytodatatable' on type 'WhereSelectEnumerableIterator(Of VB$AnonymousType_0(Of DataRow,DataRow),DataRow)' not found.

从阅读开始,这似乎与Select返回数据的方式(不是DataRow格式)有关,copytodatatable需要DataRow格式。我已尝试按照标记的解决方案here

但是,第一个没有用,第二个(对象粉碎机)有点超出我的水平(我无法想象如何使用链接的MS文章中的代码)。

难倒在这一个:

1)感觉能够通过查询来处理我的DataSet可能会更好,但是如上所述,无法想象如何使用我的设置中的数据连接。如果更好,如果是,如何实现?

2)如果以上不适用,如何将linq查询结果返回到数据表?我刚刚开始,所以上面的MS链接有点超出我的理解范围。我的代码已上传到codeplex

感谢

0 个答案:

没有答案