Мне нужна помощь в определении того, как это сделать. У меня есть DataSet, который содержит записи по дате и currencyCode. Я хочу сравнить два набора данных и узнать, есть ли одна (левая таблица) записи, существует don't на второй (правой) таблицы, я следующий код для соединения таблицы на основе даты и кода:Получение только записей не во второй таблице LINQ
vLINQ = (From ContentExchangeRates In myDataset.Tables(0).AsEnumerable() _
Join PartnerExchangeRates In PartnerDataSet.Tables(0).AsEnumerable() _
On ContentExchangeRates.Field(Of Date)("EffectiveDate") Equals PartnerExchangeRates.Field(Of Date)("RateDate") _
And ContentExchangeRates.Field(Of String)("CurrencyCode") Equals PartnerExchangeRates.Field(Of Date)("CurrencyCode") _
Select New With { .PartnerRateDate = PartnerExchangeRates.Field(Of Date)("RateDate"), _ etc}).ToList
Использование Джеффа ответа код выглядит следующим образом:
vLINQ = (From ContentExchangeRates In myDataSet.Tables(0).AsEnumerable() _
Group Join PartnerExchangeRates In PartnerDataSet.Tables(0).AsEnumerable() _
On PartnerExchangeRates.Field(Of Date)("RateDate") Equals ContentExchangeRates.Field(Of Date)("EffectiveDate") _
And PartnerExchangeRates.Field(Of String)("CurrencyCode") Equals ContentExchangeRates.Field(Of String)("ConvertCurrencyCode") _
Into result = Group From m In result.DefaultIfEmpty _
Select New With _
{ _
.PartnerRateDate = m.Field(Of Date)("RateDate") _
}).ToList
Но я получаю следующую ошибку: Значение не может быть пустым. Имя параметра: строка
Я хочу быть в состоянии сделать левое внешнее соединение, которая будет извлекать только записи, которые не существует на столе PartnerExchangeRates, но я не знаю, что делать больше :(
Любая помощь приветствуется!
Im получаю следующее сообщение об ошибке: Значение не может быть ноль. Имя параметра: строка –