LINQ to DataSet AsEnumerable Except
Except 메서드를 사용하여 첫 번째 테이블에만 있고 두 번째 테이블에는 없는 연락처를 반환합니다.
// Fill the DataSet. DataSet ds = new DataSet();
ds.Locale = CultureInfo.InvariantCulture;
FillDataSet(ds); DataTable contactTable = ds.Tables["Contact"];
// Create two tables.
IEnumerable<DataRow> query1 = from contact in contactTable.AsEnumerable() where contact.Field<string>("Title") == "Ms." select contact;
IEnumerable<DataRow> query2 = from contact in contactTable.AsEnumerable() where contact.Field<string>("FirstName") == "Sandra" select contact; DataTable contacts1 = query1.CopyToDataTable();
DataTable contacts2 = query2.CopyToDataTable();
// Find the contacts that are in the first
// table but not the second.
var contacts = contacts1.AsEnumerable().Except(contacts2.AsEnumerable(), DataRowComparer.Default); Console.WriteLine("Except of employees tables");
foreach (DataRow row in contacts)
{ Console.WriteLine("Id: {0} {1} {2} {3}", row["ContactID"], row["Title"], row["FirstName"], row["LastName"]); }