Introduction |
|
xiii | |
|
|
xiii | |
|
|
xv | |
|
|
xv | |
|
|
xvii | |
|
|
xviii | |
Chapter 1 ADO.NET Disconnected Classes |
|
1 | (62) |
|
Lesson 1: Working with the DataTable and DataSet Classes |
|
|
3 | (31) |
|
|
4 | (13) |
|
Using Data View as a Window into a Data Table |
|
|
17 | (3) |
|
Using a DataSet Object to Coordinate Work Between Data Tables |
|
|
20 | (14) |
|
Lesson 2: Serialization, Specialized Types, and Data Binding |
|
|
34 | (29) |
|
Serializing and Deserializing the Data Table with XML Data |
|
|
34 | (3) |
|
Serializing and Deserializing DataSet Objects |
|
|
37 | (11) |
|
Handling Specialized Types |
|
|
48 | (3) |
|
|
51 | (12) |
Chapter 2 ADO.NET Connected Classes |
|
63 | (80) |
|
Lesson 1: Connecting to the Data Store |
|
|
65 | (20) |
|
Using Providers to Move Data |
|
|
65 | (1) |
|
Getting Started with the DbConnection Object |
|
|
66 | (9) |
|
Storing the Connection String in the Application Configuration File |
|
|
75 | (1) |
|
Encrypted Communications to SQL Server |
|
|
76 | (1) |
|
Storing Encrypted Connection Strings in Web Applications |
|
|
76 | (1) |
|
|
77 | (8) |
|
Lesson 2: Reading and Writing Data |
|
|
85 | (35) |
|
|
85 | (4) |
|
|
89 | (4) |
|
Using Multiple Active Result Sets (MARS) to Execute Multiple Commands on a Connection |
|
|
93 | (1) |
|
Performing Bulk Copy Operations with a Sq1BulkCopy Object |
|
|
93 | (2) |
|
|
95 | (6) |
|
DbProviderFactory Classes |
|
|
101 | (4) |
|
Using DbException to Catch Provider Exceptions |
|
|
105 | (1) |
|
Working with SQL Server User-Defined Types (UDTs) |
|
|
105 | (15) |
|
Lesson 3: Working with Transactions |
|
|
120 | (23) |
|
|
120 | (1) |
|
Concurrency Models and Database Locking |
|
|
121 | (1) |
|
Transaction Isolation Levels |
|
|
121 | (2) |
|
Single Transactions and Distributed Transactions |
|
|
123 | (1) |
|
|
123 | (3) |
|
Introducing the System.Transactions Namespace |
|
|
126 | (4) |
|
Working with Distributed Transactions |
|
|
130 | (3) |
|
Viewing Distributed Transactions |
|
|
133 | (10) |
Chapter 3 Introducing LINQ |
|
143 | (94) |
|
Lesson 1: Understanding LINQ |
|
|
145 | (60) |
|
|
145 | (2) |
|
|
147 | (2) |
|
|
149 | (1) |
|
Features That Make Up LINQ |
|
|
150 | (55) |
|
Lesson 2: Using LINQ Queries |
|
|
205 | (32) |
|
Syntax-Based and Method-Based Queries |
|
|
205 | (3) |
|
|
208 | (2) |
|
|
210 | (1) |
|
Using the Let Keyword to Help with Projections |
|
|
211 | (1) |
|
|
211 | (1) |
|
|
212 | (1) |
|
|
213 | (2) |
|
|
215 | (6) |
|
|
221 | (2) |
|
|
223 | (14) |
Chapter 4 LINQ to SQL |
|
237 | (58) |
|
Lesson 1: What Is LINO to SQL? |
|
|
239 | (21) |
|
|
239 | (4) |
|
Examining the Designer Output |
|
|
243 | (6) |
|
Managing Your Database Connection and Context Using DataContext |
|
|
249 | (11) |
|
Lesson 2: Executing Queries Using LINQ to SQL |
|
|
260 | (17) |
|
Basic Query with Filter and Sort |
|
|
260 | (1) |
|
|
261 | (1) |
|
|
262 | (2) |
|
|
264 | (3) |
|
|
267 | (1) |
|
|
268 | (9) |
|
Lesson 3: Submitting Changes to the Database |
|
|
277 | (18) |
|
Using DataContext to Track Changes and Cache Objects |
|
|
277 | (1) |
|
The Life Cycle of an Entity |
|
|
278 | (2) |
|
Modifying Existing Entities |
|
|
280 | (2) |
|
Adding New Entities to DataContext |
|
|
282 | (1) |
|
|
283 | (2) |
|
|
285 | (1) |
|
Using DataContext to Submit Changes |
|
|
286 | (1) |
|
Submitting Changes in a Transaction |
|
|
286 | (9) |
Chapter 5 LINQ to XML |
|
295 | (64) |
|
Lesson 1: Working with the XmlDocument and XmlReader Classes |
|
|
297 | (23) |
|
|
297 | (9) |
|
|
306 | (14) |
|
Lesson 2: Querying with LINQ to XML |
|
|
320 | (24) |
|
Introducing the XDocument Family |
|
|
320 | (8) |
|
Using the XDocument Classes |
|
|
328 | (16) |
|
Lesson 3: Transforming XML Using LINQ to XML |
|
|
344 | (15) |
|
Transforming XML to Objects |
|
|
344 | (3) |
|
|
347 | (1) |
|
|
348 | (11) |
Chapter 6 ADO.NET Entity Framework |
|
359 | (100) |
|
Lesson 1: What Is the ADO.NET Entity Framework? |
|
|
361 | (60) |
|
Entity Framework Architecture Overview |
|
|
361 | (2) |
|
Entity Framework vs. LINQ to SQL |
|
|
363 | (2) |
|
|
365 | (11) |
|
Managing your Database Connection and Context Using ObjectContext |
|
|
376 | (9) |
|
|
385 | (6) |
|
Implementing Inheritance in the Entity Framework |
|
|
391 | (16) |
|
|
407 | (14) |
|
Lesson 2: Querying and Updating with the Entity Framework |
|
|
421 | (38) |
|
Using LINQ to Entities to Query Your Database |
|
|
421 | (4) |
|
|
425 | (9) |
|
Using ObjectContext to Submit Changes to the Database |
|
|
434 | (25) |
Chapter 7 WCF Data Services |
|
459 | (44) |
|
Lesson 1: What Is WCF Data Services? |
|
|
461 | (21) |
|
|
461 | (1) |
|
Creating a WCF Data Service |
|
|
462 | (9) |
|
Querying Data through WCF Data Services |
|
|
471 | (11) |
|
Lesson 2: Consuming WCF Data Services |
|
|
482 | (21) |
|
Adding a Client Application |
|
|
482 | (21) |
Chapter 8 Developing Reliable Applications |
|
503 | (78) |
|
Lesson 1: Monitoring and Collecting Performance Data |
|
|
505 | (16) |
|
Implementing Instrumentation |
|
|
505 | (1) |
|
|
505 | (7) |
|
Accessing and Implementing Performance Counters |
|
|
512 | (9) |
|
Lesson 2: Handling Exceptions |
|
|
521 | (16) |
|
Preventing Connection and Command Exceptions |
|
|
521 | (2) |
|
Handling Connection and Query Exceptions |
|
|
523 | (4) |
|
Handling Exceptions When Submitting Changes |
|
|
527 | (10) |
|
Lesson 3: Protecting Your Data |
|
|
537 | (23) |
|
|
537 | (2) |
|
|
539 | (6) |
|
|
545 | (4) |
|
|
549 | (3) |
|
|
552 | (2) |
|
Encrypting Connections and Configuration Files |
|
|
554 | (2) |
|
Principle of Least Privilege |
|
|
556 | (4) |
|
Lesson 4: Synchronizing Data |
|
|
560 | (21) |
|
The Microsoft Sync Framework |
|
|
560 | (21) |
Chapter 9 Deploying Your Application |
|
581 | (20) |
|
Lesson 1: Deploying Your Application |
|
|
582 | (19) |
|
Packaging and Publishing from Visual Studio .NET |
|
|
582 | (1) |
|
Deploying WCF Data Services Applications |
|
|
583 | (7) |
|
Deployment for ASP.NET Websites |
|
|
590 | (2) |
|
Silverlight Considerations |
|
|
592 | (1) |
|
Deploying Entity Framework Metadata |
|
|
593 | (8) |
Answers |
|
601 | (22) |
Index |
|
623 | |