WSDL wird in Chome nicht angezeigt | WCF Quicky
- September 3rd, 2010
Will man ein in Visual Studio 2010 erstelltes Projekt mit Visual Studio 2008 öffnen bekommt man zunächst folgende Fehlermeldung:
Um dennoch das Projekt unter VS2008 zu öffnen, editiert man mit dem Editor die Solution Datei (*.sln) und ändert die Version 11.00 in die Version 10.00.
Nun lässt sich das Projekt öffnen und kompilieren. In die andere Richtung gehts natürlich auch, aber hier dann einfach das “Konvertierungsangebot” von VS2010 annehmen.
Folgende LINQExtension* enternt doppelte Einträge einer DataTable und gibt diese zurück
1 2 3 4 5 6 7 8 9 10 | public static DataTable DistinctDataTable(this DataTable table) { var resultTable = table.Clone(); IEnumerable<DataRow> uniqueElements = table.AsEnumerable().Distinct(DataRowComparer.Default); foreach (var row in uniqueElements) { resultTable.ImportRow(row); } return resultTable; } |
Verwendung:
DataTable resultTable = mainTable.DistinctDataTable();
Viel Spaß beim entwickeln : )
* = ExtensionMethods implementiert man in einer statischen Klasse.
Wenn man eine DataRow aus einer DataTable eines DataSets in eine andere DataTable kopieren möchte, geht man durch die entsprechenden DataTable und kopiert diese.
1 2 3 4 | foreach (DataRow row in kundeDataTable.Rows) { dataSetResult.Tables["Kunde"].ImportRow(row); } |
Um sich ein paar Zeilen zu sparen, kann man an das DataRow Array eine ExtensionMethod anhängen. Hierfür implementieren wir in einer statischen Klasse eine Methode die es – für jede Klasse die IList implementiert – ermöglicht, die Elemente zu iterieren und eine Aktion auszuführen.
1 2 3 4 5 6 7 | public static class DataSetExtensions { public static void ForEach<T>(this IList<T> list, Action<T> action) { foreach (var item in list) action(item); } } |
Nun selektieren wir die Rows in ein DataRow[] und gehen dieses mit der ExtensionMethod “ForEach” durch und importieren die Daten in die gewünschte DataTable
1 2 | var kundeDataTableRows = kundeDataTable.Select(); kundeDataTableRows.ForEach(r => dataSetResult.Tables["Kunde"].ImportRow(r)); |
Viel Spaß beim entwickeln : )
Um das Beste aus einem N900 Akku heraus zuholen, sind folgende Tipps zu beachten.