La query ritorna i Datarow contenente i record modificati.
Datatable1 (quello con i dati originali)
DataTable DatiOriginale = GetDati()
DataColumn[] PrimaryKeyColumns = new DataColumn[1];
PrimaryKeyColumns[0] = DatiOriginale .Columns["ID"];
DatiOriginale .PrimaryKey = PrimaryKeyColumns;
DataTable2 (quello con i dati modificati)
DataTable DatiModificati = GetDati();
DataColumn[] PrimaryKeyColumns = new DataColumn[1];
PrimaryKeyColumns[0] = DatiModificati .Columns["ID"];
DatiModificati .PrimaryKey = PrimaryKeyColumns;
Query Linq
List
from r2 in DatiModificati .AsEnumerable()
where DatiOriginale.PrimaryKey.Aggregate(true, (same, keycol) => same & r1[keycol].Equals(r2[keycol.Ordinal]))
&& !r1.ItemArray.SequenceEqual(r2.ItemArray)
select r2).ToList();
Nessun commento:
Posta un commento