我是初学者并在VB.Net中学习LINQ。我有一个表A ,列
workID(PK)和 idAccount 。
另一个表格B ,列
出价(PK),BName和工作ID(FK)。
表A与表B 之间存在一对一的关系。
现在我想将表数据放入/复制到另一个表C ,其列为
workID,idAccount,BName 。但我不知道如何编写LINQ查询并获取两个表数据并将其放在第3个表中。请帮我。到目前为止我已经尝试过了。下面是我的项目的代码片段。
Public Function Hello(ByVal dt As A, ByVal dtm As B)
Dim dtReturn As New C
If dt IsNot Nothing AndAlso dt.Any Then
Dim row As WorkOrderRow `row corresponding to the C Table
For Each r In dt
row = dtReturn.NewWorkRow 'traversing the row
With row
.WorkID = r.WorkID
.idAccount = r.idAccount
End With
dtReturn.AddWorkOrderActivityRow(row)
Next
End If
End Function
它的工作完全正常,但我也需要输入 B 的数据。使用上面的代码,我只能复制表A的数据。请指导我如何编写LINQ查询并遍历它。
我应该可以做像
这样的事情 With row
.WorkID = x.WorkID
.idAccount = x.idAccount
.BName = x.BName
End With
x是查询生成的行。
答案 0 :(得分:0)
您可能希望首先加入A和B的结果(此处示例:https://msdn.microsoft.com/en-us/library/bb311040.aspx),然后创建C行。这样更容易。
Dim newCs = (From a In tableA
Join b In tableB On a.workID Equals b.workID
Select New TableC With {
.workID = a.workID,
.idAccount = a.idAccount,
.BName = b.BName
})