Thomas: C# - 2 DataTable vergleichen

Beitrag lesen

Hallo,

nach langem Suchen und Lesen bin ich leider noch nicht auf eine Lösung meines Problems gekommen. Bei einer "AND" Verkettung ist die Where Klausel kein Problem, für eine "OR" Verkettung allerdings sehe ich kein Licht.

Ich habe das jetzt ganz einfach so gelöst, dass ich für jede Bedingung ein Select ausführe. Nicht elegant aber funktioniert.

  
object[,] strArray = getArray();  
for (int i = 0; i < strArray.GetLength(1); i++)  
{  
	var l_modifiedRows = newData.Select()  
					 .Join(  
						spData.Select(),  
						r => r[keyColumnName],  
						r => r[keyColumnName],  
						(r1, r2) => new  
						{  
							Row1 = r1,  
							Row2 = r2  
						})  
					.Where(  
						values => !(values.Row1[(string)strArray[0, i]].Equals(values.Row2[(string)strArray[0, i]])))  
					.Select(values => values.Row2);  
}  

Grüße
Thomas