VB. NET -LINQ сравнить две таблицы данных - PullRequest
0 голосов
/ 04 августа 2020

У меня есть две таблицы данных (трено1 и трено2), содержащие 10 столбцов о групповом бронировании железной дороги. Мне нужно знать, находятся ли некоторые значения в treno1 на treno2, и улавливать ли другие значения: например, мне нужно знать, находится ли фамилия в treno1 в treno2, и получить другую информацию (номер машины, место и т. Д.)

Я получаю json бронирование через Интернет.

With treno1
    .Columns.Add("Departure", System.Type.GetType("System.String"))
    .Columns.Add("Arrival", System.Type.GetType("System.String"))
    .Columns.Add("PNR", System.Type.GetType("System.String"))
    .Columns.Add("Level", System.Type.GetType("System.String"))
    .Columns.Add("Last Name", System.Type.GetType("System.String"))
    .Columns.Add("Car", System.Type.GetType("System.String"))
    .Columns.Add("seat", System.Type.GetType("System.String"))
    .Columns.Add("first name", System.Type.GetType("System.String"))
    .Columns.Add("Train", System.Type.GetType("System.String"))
    .Columns.Add("ID res", System.Type.GetType("System.String"))
End With


    For Each item As JProperty In data
        item.CreateReader()
    
        For Each msg As JObject In item.Values
            treno1.Rows.Add(msg("departureLocationName"), msg("arrivalLocationName"), msg("pnrCode"), msg("serviceLevel"), msg("lastName"), msg("wagon"), msg("seat"), msg("firstName"), msg("transportMeanName"), msg("Id"))
        Next
    Next`

как может быть запрос?

Dim LastName = From n In treno1.AsEnumerable() From n1 In treno2.AsEnumerable
                      Where n.Field(Of String)("Last Name") = n1.Field(Of String)("Last Name") And n.Field(Of String)("Last Name") IsNot Nothing And n.Field(Of String)("first name") = n1.Field(Of String)("first name")
                      Select n1.Field(Of String)("Last Name") + " " + n1.Field(Of String)("first name") + " , " + n1.Field(Of String)("PNR") + " , " + n1.Field(Of String)("Departure") + " - " + n1.Field(Of String)("Arrival")    
...