Datenbankprogrammierung mit Microsoft LINQ: [leistungsfähige Datenmanipulation mit LINQ und Visual Basic oder C#]
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Buch |
Sprache: | German English |
Veröffentlicht: |
Unterschleißheim
Microsoft Press
2008
|
Schriftenreihe: | Fachbibliothek
|
Schlagworte: | |
Online-Zugang: | Inhaltstext Inhaltsverzeichnis |
Beschreibung: | XXII, 669 S. Ill. 24 cm |
ISBN: | 9783866454286 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV035153740 | ||
003 | DE-604 | ||
005 | 20090202 | ||
007 | t | ||
008 | 081111s2008 a||| |||| 00||| ger d | ||
015 | |a 08,N21,0054 |2 dnb | ||
015 | |a 08,A46,0086 |2 dnb | ||
016 | 7 | |a 988546876 |2 DE-101 | |
020 | |a 9783866454286 |c Pp. : EUR 59.00 (DE), EUR 61.20 (AT), sfr 94.90 |9 978-3-86645-428-6 | ||
024 | 3 | |a 9783866454286 | |
035 | |a (OCoLC)644678609 | ||
035 | |a (DE-599)DNB988546876 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 1 | |a ger |h eng | |
049 | |a DE-12 |a DE-91G |a DE-473 |a DE-M347 |a DE-634 | ||
082 | 1 | |a 005.268 |2 22//ger | |
082 | 0 | |a 005.268 |2 22/ger | |
084 | |a ST 232 |0 (DE-625)143619: |2 rvk | ||
084 | |a 004 |2 sdnb | ||
084 | |a DAT 364f |2 stub | ||
084 | |a DAT 651f |2 stub | ||
100 | 1 | |a Pialorsi, Paolo |e Verfasser |0 (DE-588)133496341 |4 aut | |
240 | 1 | 0 | |a Programming Microsoft LINQ |
245 | 1 | 0 | |a Datenbankprogrammierung mit Microsoft LINQ |b [leistungsfähige Datenmanipulation mit LINQ und Visual Basic oder C#] |c Paolo Pialorsi ; Marco Russo. [Übers.: Frank Langenau] |
264 | 1 | |a Unterschleißheim |b Microsoft Press |c 2008 | |
300 | |a XXII, 669 S. |b Ill. |c 24 cm | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Fachbibliothek | |
650 | 0 | 7 | |a LINQ |0 (DE-588)7582603-3 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Abfragesprache |0 (DE-588)4134011-5 |2 gnd |9 rswk-swf |
650 | 0 | 4 | |a Microsoft .NET Framework |9 rswk-swf |
689 | 0 | 0 | |a LINQ |0 (DE-588)7582603-3 |D s |
689 | 0 | 1 | |a Microsoft .NET Framework |A s |
689 | 0 | 2 | |a Abfragesprache |0 (DE-588)4134011-5 |D s |
689 | 0 | |8 1\p |5 DE-604 | |
700 | 1 | |a Russo, Marco |d 1969- |e Verfasser |0 (DE-588)133496414 |4 aut | |
856 | 4 | 2 | |q text/html |u http://deposit.dnb.de/cgi-bin/dokserv?id=3100382&prov=M&dok_var=1&dok_ext=htm |3 Inhaltstext |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016960951&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-016960951 |
Datensatz im Suchindex
_version_ | 1805091426452635648 |
---|---|
adam_text |
Inhaltsverzeichnis
Vorwort.
Einleitung.
Danksagung. XVIII
Einführung.
Über dieses Buch. XX
Systemanforderungen. XVII
Die Companion-Website. XVII
Support für dieses Buch. XVII
Teil A - Grundlagen von LINQ. 1
1 Einführung in LINQ. 3
Was ist LINQ?. 4
Warum brauchen wir LINQ?. 5
Wie LINQ funktioniert. 7
Relationales, hierarchisches und Netzwerkmodell im Vergleich. 9
XML-Daten bearbeiten. 13
Integration in die Programmiersprache. 16
Deklarative Programmierung. 17
Typüberprüfung. 18
Typsystemübergreifende Transparenz. 19
LINQ-Implementierungen. 19
LINQtoObjects. 19
LINQtoADO.NET. 20
LINQ to XML. 21
Zusammenfassung. 21
2 Grundlagen der UNQ-Syntax. 23
LINQ-Abfragen. 24
Abfragesyntax. 24
Vollständige Abfragesyntax_.„„._._ 28
Abfrageschlüsselwörter_._ 29
Die Klausel from_._._._ 30
Die Klausel where_._ 32
Inhaltsverzeichnis VII
Die Klausel select. 33
Die Klauseln group und into. 33
Die Klauselorderby. 35
Die Klausel join. 36
Die Klausel let. 40
Zusätzliche Schlüsselwörter in Visual Basic 2008. 41
Verzögerte Auswertung von Abfragen und Auflösung von Erweiterungsmethoden. 41
Verzögerte Abfrageauswertung. 41
Auflösung von Erweiterungsmethoden. 43
Abschließende Gedanken zu LINQ-Abfragen. 45
Abfrageausdrücke degenerieren. 45
Ausnahmebehandlung. 46
Zusammenfassung . 48
3 LINQ to Objects. 49
Abfrageoperatoren. 53
Der Operator Where. 53
Projektionsoperatoren. 55
Sortieroperatoren. 58
Gruppierungsoperatoren. 62
Verknüpfungsoperatoren. 66
Mengenoperatoren (Set). 70
Aggregierungsoperatoren. 75
Aggregierungsoperatoren in Visual Basic 2008. 83
Generierungsoperatoren. 85
Quantifizierungsoperatoren. 87
Partitionierungsoperatoren. 89
Elementoperatoren. 92
Andere Operatoren. 96
Konvertierungsoperatoren. 97
Der Operator AsEnumerable. 97
Die Operatoren ToArray und ToList. 99
Der Operator ToDictionary. 100
Der Operator ToLookup. 101
Die Operatoren OfType und Cast . 103
Zusammenfassung. 103
Teil B - LINQ und relationale Daten. 105
4 LINQ to SQL: Daten abfragen. 107
Entitäten in LINQ to SQL. 108
Externe Zuordnung. 111
Inhaltsverzeichnis
Datenmodellierung. 112
Die Klasse DataContext. 112
Entitätsklassen. 113
Entitätsvererbung. 115
Eindeutige Objektidentität. 117
Entitätseinschränkungen. 118
Zuordnungen zwischen Entitäten. 118
Graph-Konsistenz. 124
Relationales und hierarchisches Modell. 125
Datenabfrage. 125
Projektionen. 128
Gespeicherte Prozeduren und benutzerdefinierte Funktionen. 129
Kompilierte Abfragen. 137
Unterschiedliche Ansätze bei der Datenabfrage. 138
Direkte Abfragen. 141
Verzögertes Laden von Entitäten. 143
Verzögertes Laden von Eigenschaften. 144
Schreibgeschützter DataContext-Zugriff. 146
Beschränkungen von LINQ to SQL. 146
In LINQ to SQL denken. 148
Die Klausel IN/EXISTS. 148
SQL-Abfragereduzierung. 151
.NET-Code mit SQL-Abfragen kombinieren. 152
Zusammenfassung. 155
LINQ to SQL: Daten verwalten. 157
CRUD und CUD-Operationen. 158
Entitätsaktualisierungen. 158
Datenbankaktualisierungen. 165
Insert, Update und Delete anpassen. 169
Datenbankinteraktion. 170
Gleichzeitige Operationen. 171
Transaktionen. 174
Ausnahmen. 175
Datenbanken und Entitäten. 177
Gültige Beziehungen mit Entitätsattributen verwalten. 177
Entitätsklassen ableiten. 179
Entitäten anfügen. 181
Metadaten binden. 185
Unterschiede zwischen den .NET- und SQL-Typsystemen. 188
Zusammenfassung. 188
Inhaltsverzeichnis
Tools für LINQ to SQL. 189
Dateitypen. 190
DBML -Database Markup Language. 190
C#-und Visual Basic-Quellcode. 192
XML - externe Zuordnungsdatei. 194
LINQ to SQL-Dateigenerierung. 195
SQLMetal. 197
Eine DBML-Datei aus einer Datenbank generieren. 197
Quellcode und eine Zuordnungsdatei aus einer Datenbank generieren. 198
Quellcode und eine Zuordnungsdatei aus einer DBML-Datei generieren. 199
Den O/R-Designer verwenden. 200
DataContext-Eigenschaften. 205
Entitätsklasse. 207
Zuordnung zwischen Entitäten. 210
Entitätsvererbung. 217
Gespeicherte Prozeduren und benutzerdefinierte Funktionen. 219
Sichten und Schemaunterstützung. 223
Zusammenfassung. 224
LINQ to DataSet. 225
Einführung in LINQ to DataSet. 226
Ein DataSet mit LINQ laden. 226
Ein DataSet mit LINQ to SQL laden. 227
Daten mit LINQ to DataSet laden. 229
Ein DataSet mit LINQ abfragen. 230
Die Erweiterungsmethode DataTable.AsEnumerable intern. 232
Data View-Instanzen mit LINQ erstellen. 232
Ein typisiertes DataSet mit LINQ abfragen. 234
Auf nicht typisierte DataSet-Daten zugreifen. 235
DataRow-Vergleich. 235
Zusammenfassung. 236
LINQ to Entities. 237
Das Entitätsdatenmodell abfragen. 238
Überblick. 238
Abfrageausdrücke. 241
Daten verwalten. 246
Abfragemodul. 246
Abfrageausfuhrung. 246
Mehr zu ObjectQuery T . 250
Kompilierte Abfragen. 252
LINQ to SQL und LINQ to Entities. 253
Zusammenfassung. 253
Inhaltsverzeichnis
Teil C - LINQ und XML. 255
9 LINQ to XML: Das XML-Infoset verwalten. 257
Einführung in LINQ to XML. 258
LINQ to XML-Programmierung. 261
XDocument . 262
XElement. 263
XAttribute. 267
XNode. 267
XName und XNamespace. 269
Andere X*-Klassen. 274
XStreamingElement. 275
XObject und Anmerkungen. 277
XML lesen, durchlaufen und ändern. 279
Zusammenfassung. 281
10 LINQ to XML: Knoten abfragen. 283
XML abfragen. 284
Attribute, Attributes. 284
Element, Elements. 285
XPath-Achsen »wie« Erweiterungsmethoden. 286
XNode-Auswahlmethoden. 290
Die Erweiterungsmethode InDocumentOrder. 291
Verzögerte Abfrageauswertung. 292
LINQ-Abfragen über XML. 293
XML effizient abfragen, um Entitäten zu erstellen. 295
XML mit LINQ to XML transformieren. 299
Unterstützung für XSD und Gültigkeitsprüfung von typisierten Knoten. 302
Unterstützung für XPath und System.Xml.XPath. 304
LINQ to XML-Sicherheit. 306
LINQ to XML-Serialisierung. 307
Zusammenfassung. 308
Teil D - LINQ erweitert. 309
11 Szenarien für SQL Server Entwickler. 311
Lambda-Ausdrücke. 312
Was ist eine Ausdrucksbaumstruktur?. 314
Ausdrucksbaumstrukturen erstellen. 315
Kapselung. 317
Unveränderlichkeit und Modifikation. 319
Ausdrucksbaumstrukturen analysieren.„. 323
Die Klasse Expression._.„. 325
Knotentypen von Ausdrucksbaumstrukturen._,_ 326
Praktische Hinweise zu Knoten.„. 329
Inhaltsverzeichnis XI
Eine Ausdrucksbaumstruktur besuchen. 333
Ausdrucksbaumstrukturen dynamisch erstellen. 342
Wie der Compiler eine Ausdrucksbaumstruktur generiert. 343
Vorhandene Ausdrucksbaumstrukturen kombinieren. 345
Ausdrucksbaumstrukturen dynamisch zusammenstellen. 349
Zusammenfassung . 354
12 ÜNQ erweitern. 355
Benutzerdefinierte Operatoren. 356
Spezialisierung vorhandener Operatoren. 360
Riskante Praktiken. 363
Grenzen der Spezialisierung. 365
Einen benutzerdefinierten LINQ-Anbieter erstellen. 373
Die Schnittstelle IQueryable. 374
Von IEnumerable nach IQueryable und zurück. 376
Die Schnittstellen IQueryable und IQueryProvider intern. 378
Den FlightQueryProvider schreiben. 381
Zusammenfassung. 403
13 Parallel LINQ. 405
Parallel Extensions für das .NET Framework. 406
Die Methoden Parallel.For und Parallel.ForEach. 406
Die Methode ParalleLDo. 408
DieKlasseTask. 409
Die Klasse Future T . 410
Parallelitätsbetrachtungen. 411
PLINQ verwenden. 413
Von PLINQ verwendete Threads. 413
PLINQ-Implementierung. 416
PLINQ-Verwendung. 417
Nebeneffekte der parallelen Ausführung. 420
Ausnahmebehandlung mit PLINQ. 424
PLINQ und andere LINQ-Implementierungen. 425
Zusammenfassung. 427
14 Andere LINQ-Implentierungen. 429
Datenbankzugriff. 430
Datenzugriff ohne Datenbank. 431
LINQ to Entities-Domänenmodelle. 432
LINQ to Services. 432
LINQ für Systemtechniker. 433
Dynamisches LINQ.-----. 434
Andere LINQ-Erweiterungen und -Tools. 434
Zusammenfassung . 435
Inhaltsverzeichnis
Teil E - UNQ im Einsatz. 437
15 LINQ in einer Multitier-Lösung. 439
Charakteristika einer Multitier-Lösung. 440
LINQ to SQL in einer Lösung mit zwei Ebenen. 442
LINQ in einer N-Tier-Lösung. 443
LINQ to SQL als Ersatz für die Datenzugriffsschicht. 443
LINQ to SQL mit externer XML-Zuordnungsdatei abstrahieren. 444
LINQ to SQL über echte Abstraktion verwenden. 447
LINQ to XML als Datenschicht. 454
LINQ to Entities als Datenschicht. 457
LINQ in der Geschäftsschicht. 458
Mit LINQ to Objects besseren Code schreiben. 459
IQueryable T versus IEnumerable T . 460
Die richtige Arbeitseinheit identifizieren. 464
Transaktionen behandeln. 465
Parallelität und Threadsicherheit. 465
Zusammenfassung. 465
16 LINQ und ASP.NET. 467
ASP.NET 3.5. 468
ListView. 468
ListView-Datenbindung. 471
DataPager. 475
Das Steuerelement LinqDataSource. 479
Paging von Daten mit LinqDataSource und DataPager. 484
Datenänderungen mit LinqDataSource behandeln. 487
Benutzerdefinierte Auswahl mit LinqDataSource verwenden. 490
Das LinqDataSource-Steuerelement mit benutzerdefinierten Typen verwenden. 491
An LINQ-Abfragen binden. 493
Zusammenfassung. 497
17 LINQ und WPF/Silverlight. 499
LINQ mit WPF verwenden. 500
Einzelne Entitäten und Eigenschaften binden. 500
Auflistungen von Entitäten binden. 504
LINQ mit Silverlight verwenden. 508
Zusammenfassung. 509
18 LINQ und die Windows Communication Foundation. 511
WCF im Überbück. 512
WCF-Verträge und -Dienste.„. 512
Dienstorientierte Verträge. 516
Inhaltsverzeichnis XIII
Endpunkt und Diensthost. 517
Dienstnutzer. 519
WCF und LINQ to SQL. 522
LINQ to SQL-Entitäten und Serialisierung. 522
LINQ to SQL-Entitäten mit WCF veröffentlichen. 526
LINQ to SQL-Entitäten mit WCF nutzen. 529
LINQ to Entities und WCF. 532
Serialisierung von Abfrageausdrücken. 541
Zusammenfassung. 542
Anhang A - ADO.NET Entity Framework. 543
ADO.NET-Standardkonzept. 544
Von der physischen Schicht abstrahieren. 547
Entitätsdatenmodelle. 549
Dateien des Entitätsdatenmodells. 549
Entity Data Model Designer und Assistent. 554
Tool zum Generieren des Entitätsdatenmodells. 558
Regeln und Definition des Entitätsdatenmodells. 559
Entitäten mit ADO.NET abfragen. 559
ADO.NET-Entitäten mit LINQ abfragen. 566
Daten mit Object Services verwalten. 567
Verwaltung der Objektidentität. 569
Transaktionale Operationen. 570
Manuell implementierte Entitäten. 570
LINQ to SQL und ADO.NET Entity Framework. 571
Zusammenfassung . 571
Anhang B - C# 3.0: Neue Sprachfeatures. 573
C# 2.0 im Rückblick. 574
Generics. 574
Delegaten. 576
Anonyme Methoden. 578
Enumeratoren und yield. 579
C# 3.0-Features. 585
Automatisch implementierte Eigenschaften. 585
Lokaler Typrückschluss. 586
Lambda-Ausdrücke. 589
Erweiterungsmethoden. 595
Objektinitialisierungsausdrücke. 601
Anonyme Typen. 606
Abfrageausdrücke. 610
Partielle Methoden. 611
Zusammenfassung. 613
XIV Inhaltsverzeichnis
Anhang C - Visual Basic 2008: Neue Sprachfeatures. 615
Visual Basic 2008 und Typen, die NULL-Werte zulassen. 616
Der Operator If. 617
Visual Basic 2008-Features, die C# 3.0 entsprechen. 619
Lokaler Typrückschluss. 619
Erweiterungsmethoden. 620
Ausdrücke zur Objektinitialisierung. 622
Anonyme Typen. 624
Abfrageausdrücke. 627
Lambda- Ausdrücke. 630
Funktionsabschlüsse (Closures). 630
Partielle Methoden. 632
Visual Basic 2008-Features ohne C# 3.0-Pendants. 633
XML-Unterstützung. 633
Gelockerte Delegaten. 639
C# 3.0-Features ohne Visual Basic 2008-Pendants. 640
Das Schlüsselwort yield. 640
Anonyme Methoden. 640
Zusammenfassung. 641
Stichwortverzeichnis. 643
Über die Autoren. 671 |
adam_txt |
Inhaltsverzeichnis
Vorwort.
Einleitung.
Danksagung. XVIII
Einführung.
Über dieses Buch. XX
Systemanforderungen. XVII
Die Companion-Website. XVII
Support für dieses Buch. XVII
Teil A - Grundlagen von LINQ. 1
1 Einführung in LINQ. 3
Was ist LINQ?. 4
Warum brauchen wir LINQ?. 5
Wie LINQ funktioniert. 7
Relationales, hierarchisches und Netzwerkmodell im Vergleich. 9
XML-Daten bearbeiten. 13
Integration in die Programmiersprache. 16
Deklarative Programmierung. 17
Typüberprüfung. 18
Typsystemübergreifende Transparenz. 19
LINQ-Implementierungen. 19
LINQtoObjects. 19
LINQtoADO.NET. 20
LINQ to XML. 21
Zusammenfassung. 21
2 Grundlagen der UNQ-Syntax. 23
LINQ-Abfragen. 24
Abfragesyntax. 24
Vollständige Abfragesyntax_.„„._._ 28
Abfrageschlüsselwörter_._ 29
Die Klausel from_._._._ 30
Die Klausel where_._ 32
Inhaltsverzeichnis VII
Die Klausel select. 33
Die Klauseln group und into. 33
Die Klauselorderby. 35
Die Klausel join. 36
Die Klausel let. 40
Zusätzliche Schlüsselwörter in Visual Basic 2008. 41
Verzögerte Auswertung von Abfragen und Auflösung von Erweiterungsmethoden. 41
Verzögerte Abfrageauswertung. 41
Auflösung von Erweiterungsmethoden. 43
Abschließende Gedanken zu LINQ-Abfragen. 45
Abfrageausdrücke degenerieren. 45
Ausnahmebehandlung. 46
Zusammenfassung . 48
3 LINQ to Objects. 49
Abfrageoperatoren. 53
Der Operator Where. 53
Projektionsoperatoren. 55
Sortieroperatoren. 58
Gruppierungsoperatoren. 62
Verknüpfungsoperatoren. 66
Mengenoperatoren (Set). 70
Aggregierungsoperatoren. 75
Aggregierungsoperatoren in Visual Basic 2008. 83
Generierungsoperatoren. 85
Quantifizierungsoperatoren. 87
Partitionierungsoperatoren. 89
Elementoperatoren. 92
Andere Operatoren. 96
Konvertierungsoperatoren. 97
Der Operator AsEnumerable. 97
Die Operatoren ToArray und ToList. 99
Der Operator ToDictionary. 100
Der Operator ToLookup. 101
Die Operatoren OfType und Cast . 103
Zusammenfassung. 103
Teil B - LINQ und relationale Daten. 105
4 LINQ to SQL: Daten abfragen. 107
Entitäten in LINQ to SQL. 108
Externe Zuordnung. 111
Inhaltsverzeichnis
Datenmodellierung. 112
Die Klasse DataContext. 112
Entitätsklassen. 113
Entitätsvererbung. 115
Eindeutige Objektidentität. 117
Entitätseinschränkungen. 118
Zuordnungen zwischen Entitäten. 118
Graph-Konsistenz. 124
Relationales und hierarchisches Modell. 125
Datenabfrage. 125
Projektionen. 128
Gespeicherte Prozeduren und benutzerdefinierte Funktionen. 129
Kompilierte Abfragen. 137
Unterschiedliche Ansätze bei der Datenabfrage. 138
Direkte Abfragen. 141
Verzögertes Laden von Entitäten. 143
Verzögertes Laden von Eigenschaften. 144
Schreibgeschützter DataContext-Zugriff. 146
Beschränkungen von LINQ to SQL. 146
In LINQ to SQL denken. 148
Die Klausel IN/EXISTS. 148
SQL-Abfragereduzierung. 151
.NET-Code mit SQL-Abfragen kombinieren. 152
Zusammenfassung. 155
LINQ to SQL: Daten verwalten. 157
CRUD und CUD-Operationen. 158
Entitätsaktualisierungen. 158
Datenbankaktualisierungen. 165
Insert, Update und Delete anpassen. 169
Datenbankinteraktion. 170
Gleichzeitige Operationen. 171
Transaktionen. 174
Ausnahmen. 175
Datenbanken und Entitäten. 177
Gültige Beziehungen mit Entitätsattributen verwalten. 177
Entitätsklassen ableiten. 179
Entitäten anfügen. 181
Metadaten binden. 185
Unterschiede zwischen den .NET- und SQL-Typsystemen. 188
Zusammenfassung. 188
Inhaltsverzeichnis
Tools für LINQ to SQL. 189
Dateitypen. 190
DBML -Database Markup Language. 190
C#-und Visual Basic-Quellcode. 192
XML - externe Zuordnungsdatei. 194
LINQ to SQL-Dateigenerierung. 195
SQLMetal. 197
Eine DBML-Datei aus einer Datenbank generieren. 197
Quellcode und eine Zuordnungsdatei aus einer Datenbank generieren. 198
Quellcode und eine Zuordnungsdatei aus einer DBML-Datei generieren. 199
Den O/R-Designer verwenden. 200
DataContext-Eigenschaften. 205
Entitätsklasse. 207
Zuordnung zwischen Entitäten. 210
Entitätsvererbung. 217
Gespeicherte Prozeduren und benutzerdefinierte Funktionen. 219
Sichten und Schemaunterstützung. 223
Zusammenfassung. 224
LINQ to DataSet. 225
Einführung in LINQ to DataSet. 226
Ein DataSet mit LINQ laden. 226
Ein DataSet mit LINQ to SQL laden. 227
Daten mit LINQ to DataSet laden. 229
Ein DataSet mit LINQ abfragen. 230
Die Erweiterungsmethode DataTable.AsEnumerable intern. 232
Data View-Instanzen mit LINQ erstellen. 232
Ein typisiertes DataSet mit LINQ abfragen. 234
Auf nicht typisierte DataSet-Daten zugreifen. 235
DataRow-Vergleich. 235
Zusammenfassung. 236
LINQ to Entities. 237
Das Entitätsdatenmodell abfragen. 238
Überblick. 238
Abfrageausdrücke. 241
Daten verwalten. 246
Abfragemodul. 246
Abfrageausfuhrung. 246
Mehr zu ObjectQuery T . 250
Kompilierte Abfragen. 252
LINQ to SQL und LINQ to Entities. 253
Zusammenfassung. 253
Inhaltsverzeichnis
Teil C - LINQ und XML. 255
9 LINQ to XML: Das XML-Infoset verwalten. 257
Einführung in LINQ to XML. 258
LINQ to XML-Programmierung. 261
XDocument . 262
XElement. 263
XAttribute. 267
XNode. 267
XName und XNamespace. 269
Andere X*-Klassen. 274
XStreamingElement. 275
XObject und Anmerkungen. 277
XML lesen, durchlaufen und ändern. 279
Zusammenfassung. 281
10 LINQ to XML: Knoten abfragen. 283
XML abfragen. 284
Attribute, Attributes. 284
Element, Elements. 285
XPath-Achsen »wie« Erweiterungsmethoden. 286
XNode-Auswahlmethoden. 290
Die Erweiterungsmethode InDocumentOrder. 291
Verzögerte Abfrageauswertung. 292
LINQ-Abfragen über XML. 293
XML effizient abfragen, um Entitäten zu erstellen. 295
XML mit LINQ to XML transformieren. 299
Unterstützung für XSD und Gültigkeitsprüfung von typisierten Knoten. 302
Unterstützung für XPath und System.Xml.XPath. 304
LINQ to XML-Sicherheit. 306
LINQ to XML-Serialisierung. 307
Zusammenfassung. 308
Teil D - LINQ erweitert. 309
11 Szenarien für SQL Server Entwickler. 311
Lambda-Ausdrücke. 312
Was ist eine Ausdrucksbaumstruktur?. 314
Ausdrucksbaumstrukturen erstellen. 315
Kapselung. 317
Unveränderlichkeit und Modifikation. 319
Ausdrucksbaumstrukturen analysieren.„. 323
Die Klasse Expression._.„. 325
Knotentypen von Ausdrucksbaumstrukturen._,_ 326
Praktische Hinweise zu Knoten.„. 329
Inhaltsverzeichnis XI
Eine Ausdrucksbaumstruktur besuchen. 333
Ausdrucksbaumstrukturen dynamisch erstellen. 342
Wie der Compiler eine Ausdrucksbaumstruktur generiert. 343
Vorhandene Ausdrucksbaumstrukturen kombinieren. 345
Ausdrucksbaumstrukturen dynamisch zusammenstellen. 349
Zusammenfassung . 354
12 ÜNQ erweitern. 355
Benutzerdefinierte Operatoren. 356
Spezialisierung vorhandener Operatoren. 360
Riskante Praktiken. 363
Grenzen der Spezialisierung. 365
Einen benutzerdefinierten LINQ-Anbieter erstellen. 373
Die Schnittstelle IQueryable. 374
Von IEnumerable nach IQueryable und zurück. 376
Die Schnittstellen IQueryable und IQueryProvider intern. 378
Den FlightQueryProvider schreiben. 381
Zusammenfassung. 403
13 Parallel LINQ. 405
Parallel Extensions für das .NET Framework. 406
Die Methoden Parallel.For und Parallel.ForEach. 406
Die Methode ParalleLDo. 408
DieKlasseTask. 409
Die Klasse Future T . 410
Parallelitätsbetrachtungen. 411
PLINQ verwenden. 413
Von PLINQ verwendete Threads. 413
PLINQ-Implementierung. 416
PLINQ-Verwendung. 417
Nebeneffekte der parallelen Ausführung. 420
Ausnahmebehandlung mit PLINQ. 424
PLINQ und andere LINQ-Implementierungen. 425
Zusammenfassung. 427
14 Andere LINQ-Implentierungen. 429
Datenbankzugriff. 430
Datenzugriff ohne Datenbank. 431
LINQ to Entities-Domänenmodelle. 432
LINQ to Services. 432
LINQ für Systemtechniker. 433
Dynamisches LINQ.-----. 434
Andere LINQ-Erweiterungen und -Tools. 434
Zusammenfassung . 435
Inhaltsverzeichnis
Teil E - UNQ im Einsatz. 437
15 LINQ in einer Multitier-Lösung. 439
Charakteristika einer Multitier-Lösung. 440
LINQ to SQL in einer Lösung mit zwei Ebenen. 442
LINQ in einer N-Tier-Lösung. 443
LINQ to SQL als Ersatz für die Datenzugriffsschicht. 443
LINQ to SQL mit externer XML-Zuordnungsdatei abstrahieren. 444
LINQ to SQL über echte Abstraktion verwenden. 447
LINQ to XML als Datenschicht. 454
LINQ to Entities als Datenschicht. 457
LINQ in der Geschäftsschicht. 458
Mit LINQ to Objects besseren Code schreiben. 459
IQueryable T versus IEnumerable T . 460
Die richtige Arbeitseinheit identifizieren. 464
Transaktionen behandeln. 465
Parallelität und Threadsicherheit. 465
Zusammenfassung. 465
16 LINQ und ASP.NET. 467
ASP.NET 3.5. 468
ListView. 468
ListView-Datenbindung. 471
DataPager. 475
Das Steuerelement LinqDataSource. 479
Paging von Daten mit LinqDataSource und DataPager. 484
Datenänderungen mit LinqDataSource behandeln. 487
Benutzerdefinierte Auswahl mit LinqDataSource verwenden. 490
Das LinqDataSource-Steuerelement mit benutzerdefinierten Typen verwenden. 491
An LINQ-Abfragen binden. 493
Zusammenfassung. 497
17 LINQ und WPF/Silverlight. 499
LINQ mit WPF verwenden. 500
Einzelne Entitäten und Eigenschaften binden. 500
Auflistungen von Entitäten binden. 504
LINQ mit Silverlight verwenden. 508
Zusammenfassung. 509
18 LINQ und die Windows Communication Foundation. 511
WCF im Überbück. 512
WCF-Verträge und -Dienste.„. 512
Dienstorientierte Verträge. 516
Inhaltsverzeichnis XIII
Endpunkt und Diensthost. 517
Dienstnutzer. 519
WCF und LINQ to SQL. 522
LINQ to SQL-Entitäten und Serialisierung. 522
LINQ to SQL-Entitäten mit WCF veröffentlichen. 526
LINQ to SQL-Entitäten mit WCF nutzen. 529
LINQ to Entities und WCF. 532
Serialisierung von Abfrageausdrücken. 541
Zusammenfassung. 542
Anhang A - ADO.NET Entity Framework. 543
ADO.NET-Standardkonzept. 544
Von der physischen Schicht abstrahieren. 547
Entitätsdatenmodelle. 549
Dateien des Entitätsdatenmodells. 549
Entity Data Model Designer und Assistent. 554
Tool zum Generieren des Entitätsdatenmodells. 558
Regeln und Definition des Entitätsdatenmodells. 559
Entitäten mit ADO.NET abfragen. 559
ADO.NET-Entitäten mit LINQ abfragen. 566
Daten mit Object Services verwalten. 567
Verwaltung der Objektidentität. 569
Transaktionale Operationen. 570
Manuell implementierte Entitäten. 570
LINQ to SQL und ADO.NET Entity Framework. 571
Zusammenfassung . 571
Anhang B - C# 3.0: Neue Sprachfeatures. 573
C# 2.0 im Rückblick. 574
Generics. 574
Delegaten. 576
Anonyme Methoden. 578
Enumeratoren und yield. 579
C# 3.0-Features. 585
Automatisch implementierte Eigenschaften. 585
Lokaler Typrückschluss. 586
Lambda-Ausdrücke. 589
Erweiterungsmethoden. 595
Objektinitialisierungsausdrücke. 601
Anonyme Typen. 606
Abfrageausdrücke. 610
Partielle Methoden. 611
Zusammenfassung. 613
XIV Inhaltsverzeichnis
Anhang C - Visual Basic 2008: Neue Sprachfeatures. 615
Visual Basic 2008 und Typen, die NULL-Werte zulassen. 616
Der Operator If. 617
Visual Basic 2008-Features, die C# 3.0 entsprechen. 619
Lokaler Typrückschluss. 619
Erweiterungsmethoden. 620
Ausdrücke zur Objektinitialisierung. 622
Anonyme Typen. 624
Abfrageausdrücke. 627
Lambda- Ausdrücke. 630
Funktionsabschlüsse (Closures). 630
Partielle Methoden. 632
Visual Basic 2008-Features ohne C# 3.0-Pendants. 633
XML-Unterstützung. 633
Gelockerte Delegaten. 639
C# 3.0-Features ohne Visual Basic 2008-Pendants. 640
Das Schlüsselwort yield. 640
Anonyme Methoden. 640
Zusammenfassung. 641
Stichwortverzeichnis. 643
Über die Autoren. 671 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Pialorsi, Paolo Russo, Marco 1969- |
author_GND | (DE-588)133496341 (DE-588)133496414 |
author_facet | Pialorsi, Paolo Russo, Marco 1969- |
author_role | aut aut |
author_sort | Pialorsi, Paolo |
author_variant | p p pp m r mr |
building | Verbundindex |
bvnumber | BV035153740 |
classification_rvk | ST 232 |
classification_tum | DAT 364f DAT 651f |
ctrlnum | (OCoLC)644678609 (DE-599)DNB988546876 |
dewey-full | 005.268 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.268 |
dewey-search | 005.268 |
dewey-sort | 15.268 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a2200000 c 4500</leader><controlfield tag="001">BV035153740</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20090202</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">081111s2008 a||| |||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">08,N21,0054</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">08,A46,0086</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">988546876</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783866454286</subfield><subfield code="c">Pp. : EUR 59.00 (DE), EUR 61.20 (AT), sfr 94.90</subfield><subfield code="9">978-3-86645-428-6</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783866454286</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)644678609</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB988546876</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="1" ind2=" "><subfield code="a">ger</subfield><subfield code="h">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-12</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-473</subfield><subfield code="a">DE-M347</subfield><subfield code="a">DE-634</subfield></datafield><datafield tag="082" ind1="1" ind2=" "><subfield code="a">005.268</subfield><subfield code="2">22//ger</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.268</subfield><subfield code="2">22/ger</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 232</subfield><subfield code="0">(DE-625)143619:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">004</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 364f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 651f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Pialorsi, Paolo</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)133496341</subfield><subfield code="4">aut</subfield></datafield><datafield tag="240" ind1="1" ind2="0"><subfield code="a">Programming Microsoft LINQ</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Datenbankprogrammierung mit Microsoft LINQ</subfield><subfield code="b">[leistungsfähige Datenmanipulation mit LINQ und Visual Basic oder C#]</subfield><subfield code="c">Paolo Pialorsi ; Marco Russo. [Übers.: Frank Langenau]</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Unterschleißheim</subfield><subfield code="b">Microsoft Press</subfield><subfield code="c">2008</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXII, 669 S.</subfield><subfield code="b">Ill.</subfield><subfield code="c">24 cm</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Fachbibliothek</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">LINQ</subfield><subfield code="0">(DE-588)7582603-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Abfragesprache</subfield><subfield code="0">(DE-588)4134011-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="4"><subfield code="a">Microsoft .NET Framework</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">LINQ</subfield><subfield code="0">(DE-588)7582603-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Microsoft .NET Framework</subfield><subfield code="A">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Abfragesprache</subfield><subfield code="0">(DE-588)4134011-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Russo, Marco</subfield><subfield code="d">1969-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)133496414</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="q">text/html</subfield><subfield code="u">http://deposit.dnb.de/cgi-bin/dokserv?id=3100382&prov=M&dok_var=1&dok_ext=htm</subfield><subfield code="3">Inhaltstext</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016960951&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-016960951</subfield></datafield></record></collection> |
id | DE-604.BV035153740 |
illustrated | Illustrated |
index_date | 2024-07-02T22:47:45Z |
indexdate | 2024-07-20T09:55:31Z |
institution | BVB |
isbn | 9783866454286 |
language | German English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-016960951 |
oclc_num | 644678609 |
open_access_boolean | |
owner | DE-12 DE-91G DE-BY-TUM DE-473 DE-BY-UBG DE-M347 DE-634 |
owner_facet | DE-12 DE-91G DE-BY-TUM DE-473 DE-BY-UBG DE-M347 DE-634 |
physical | XXII, 669 S. Ill. 24 cm |
publishDate | 2008 |
publishDateSearch | 2008 |
publishDateSort | 2008 |
publisher | Microsoft Press |
record_format | marc |
series2 | Fachbibliothek |
spelling | Pialorsi, Paolo Verfasser (DE-588)133496341 aut Programming Microsoft LINQ Datenbankprogrammierung mit Microsoft LINQ [leistungsfähige Datenmanipulation mit LINQ und Visual Basic oder C#] Paolo Pialorsi ; Marco Russo. [Übers.: Frank Langenau] Unterschleißheim Microsoft Press 2008 XXII, 669 S. Ill. 24 cm txt rdacontent n rdamedia nc rdacarrier Fachbibliothek LINQ (DE-588)7582603-3 gnd rswk-swf Abfragesprache (DE-588)4134011-5 gnd rswk-swf Microsoft .NET Framework rswk-swf LINQ (DE-588)7582603-3 s Microsoft .NET Framework s Abfragesprache (DE-588)4134011-5 s 1\p DE-604 Russo, Marco 1969- Verfasser (DE-588)133496414 aut text/html http://deposit.dnb.de/cgi-bin/dokserv?id=3100382&prov=M&dok_var=1&dok_ext=htm Inhaltstext HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016960951&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk |
spellingShingle | Pialorsi, Paolo Russo, Marco 1969- Datenbankprogrammierung mit Microsoft LINQ [leistungsfähige Datenmanipulation mit LINQ und Visual Basic oder C#] LINQ (DE-588)7582603-3 gnd Abfragesprache (DE-588)4134011-5 gnd Microsoft .NET Framework |
subject_GND | (DE-588)7582603-3 (DE-588)4134011-5 |
title | Datenbankprogrammierung mit Microsoft LINQ [leistungsfähige Datenmanipulation mit LINQ und Visual Basic oder C#] |
title_alt | Programming Microsoft LINQ |
title_auth | Datenbankprogrammierung mit Microsoft LINQ [leistungsfähige Datenmanipulation mit LINQ und Visual Basic oder C#] |
title_exact_search | Datenbankprogrammierung mit Microsoft LINQ [leistungsfähige Datenmanipulation mit LINQ und Visual Basic oder C#] |
title_exact_search_txtP | Datenbankprogrammierung mit Microsoft LINQ [leistungsfähige Datenmanipulation mit LINQ und Visual Basic oder C#] |
title_full | Datenbankprogrammierung mit Microsoft LINQ [leistungsfähige Datenmanipulation mit LINQ und Visual Basic oder C#] Paolo Pialorsi ; Marco Russo. [Übers.: Frank Langenau] |
title_fullStr | Datenbankprogrammierung mit Microsoft LINQ [leistungsfähige Datenmanipulation mit LINQ und Visual Basic oder C#] Paolo Pialorsi ; Marco Russo. [Übers.: Frank Langenau] |
title_full_unstemmed | Datenbankprogrammierung mit Microsoft LINQ [leistungsfähige Datenmanipulation mit LINQ und Visual Basic oder C#] Paolo Pialorsi ; Marco Russo. [Übers.: Frank Langenau] |
title_short | Datenbankprogrammierung mit Microsoft LINQ |
title_sort | datenbankprogrammierung mit microsoft linq leistungsfahige datenmanipulation mit linq und visual basic oder c |
title_sub | [leistungsfähige Datenmanipulation mit LINQ und Visual Basic oder C#] |
topic | LINQ (DE-588)7582603-3 gnd Abfragesprache (DE-588)4134011-5 gnd Microsoft .NET Framework |
topic_facet | LINQ Abfragesprache Microsoft .NET Framework |
url | http://deposit.dnb.de/cgi-bin/dokserv?id=3100382&prov=M&dok_var=1&dok_ext=htm http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016960951&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT pialorsipaolo programmingmicrosoftlinq AT russomarco programmingmicrosoftlinq AT pialorsipaolo datenbankprogrammierungmitmicrosoftlinqleistungsfahigedatenmanipulationmitlinqundvisualbasicoderc AT russomarco datenbankprogrammierungmitmicrosoftlinqleistungsfahigedatenmanipulationmitlinqundvisualbasicoderc |