首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

数据集中两个表,这种连接查询怎么使用LINQ语句

2014-01-22 
数据集中两个表,这种连接查询如何使用LINQ语句?本帖最后由 pengwei0417 于 2014-01-17 22:29:09 编辑数据

数据集中两个表,这种连接查询如何使用LINQ语句?
本帖最后由 pengwei0417 于 2014-01-17 22:29:09 编辑 数据集(dataset)中表A(Table1):
ID   Name
1     a
3     b
5     c
6     d
数据集(dataset)中表B(Table2):
ID   收入
2     10
5     20
6     10
7     6
我用以下代码可以得到表A和表B中有相同ID的记录:

 Dim rows = From rows1 In Table1.AsEnumerable() Join rows2 In Table2.AsEnumerable() _
                   On rows1!ID Equals rows2!ID _
                   Where rows1!ID = rows2!ID _
                   Select r = rows1
          Dim ResultTable As New DataTable
              ResultTable = Table1.Clone
          For Each row As DataRow In rows
               ResultTable.Rows.Add(row.ItemArray)
           Next
           DataGridView1.DataSource = ResultTable

我想要查询的是表A中ID号在表B中没有出现的记录,也就是要得到ID为1和3的,该如何修改以上语句?

LINQ才开始研究,以上LINQ代码也不知道存在问题不,请一并指教!
[解决办法]
Dim ids = TableA.Select(Function(x) x.ID).Except(TableB.Select(Function(x) x.ID))
For Each i As Integer In ids
    MessageBox.Show(i)
Next
[解决办法]
linq 太搞腦子了 一個簡單的 left join  not like 都費大把精力 搞的我都想用臨時表解決了
[解决办法]
你可以看看基本例子:http://msdn.microsoft.com/en-us/vstudio/bb688085.aspx

热点排行