在vb.net中设计windows应用程序时使用linq对dataset中两个表进行关联
dt1表中有id,name,dt2表中有id,age,两个表中id可以关联,关联后得到新表dt3,其中有id,name,age
dim ds as new dataset
dim dt1,dt2,dt3 as new datatable
dt1=ds.tables(0)
dt2=ds.tables(1)
Dim query = From s1 In dt1.AsEnumerable _
Join s2 In dt2.AsEnumerable _
On s1.Field(Of Integer)(“id”) Equals s2.Field(Of Integer)(“id”) _
Where s1.Field(Of Integer)(“id”) = s2.Field(Of Integer)(“id”) _
Select New With { _
.id = s1.Field(Of Integer)(“id”), _
.name = s1.Field(Of String)(“name”), _
.age = s2.Field(Of String)(“age”),}
Dim dr As DataRow
dt3.Columns.Add("id")
dt3.Columns.Add("name")
dt3.Columns.Add("age")
For Each k In query
dr = dt3.NewRow
dr.Item(0) = k.id
dr.Item(1) = k.name
dr.Item(2) = k.age
ldt3.Rows.Add(dr)
Next
datagridview.datasource=dt3