About the Authors |
|
xxvii | |
About the Technical Reviewer |
|
xxix | |
Preface |
|
xxxi | |
|
Chapter 1 Getting Started with Entity Framework |
|
|
1 | (10) |
|
1-1 A Brief Tour of the Entity Framework World |
|
|
2 | (4) |
|
|
2 | (1) |
|
|
3 | (1) |
|
|
4 | (1) |
|
|
4 | (1) |
|
|
5 | (1) |
|
|
6 | (1) |
|
1-2 Using Entity Framework |
|
|
6 | (5) |
|
Chapter 2 Entity Data Modeling Fundamentals |
|
|
11 | (44) |
|
2-1 Creating a Simple Model |
|
|
11 | (7) |
|
|
11 | (1) |
|
|
11 | (5) |
|
|
16 | (1) |
|
|
17 | (1) |
|
2-2 Creating a Model from an Existing Database |
|
|
18 | (5) |
|
|
18 | (1) |
|
|
18 | (2) |
|
|
20 | (3) |
|
2-3 Modeling a Many-to-Many Relationship with No Payload |
|
|
23 | (3) |
|
|
23 | (1) |
|
|
23 | (1) |
|
|
24 | (2) |
|
2-4 Modeling a Many-to-Many Relationship with a Payload |
|
|
26 | (3) |
|
|
26 | (1) |
|
|
26 | (1) |
|
|
27 | (1) |
|
|
28 | (1) |
|
2-5 Modeling a Self-Referencing Relationship with a Code-First Approach |
|
|
29 | (3) |
|
|
29 | (1) |
|
|
29 | (1) |
|
|
30 | (2) |
|
2-6 Splitting an Entity Among Multiple Tables |
|
|
32 | (3) |
|
|
32 | (1) |
|
|
32 | (1) |
|
|
33 | (2) |
|
2-7 Splitting a Table Among Multiple Entities |
|
|
35 | (3) |
|
|
35 | (1) |
|
|
35 | (2) |
|
|
37 | (1) |
|
2-8 Modeling Table per Type Inheritance |
|
|
38 | (3) |
|
|
38 | (1) |
|
|
38 | (1) |
|
|
39 | (2) |
|
2-9 Using Conditions to Filter an ObjectSet |
|
|
41 | (4) |
|
|
41 | (1) |
|
|
41 | (2) |
|
|
43 | (2) |
|
2-10 Modeling Table per Hierarchy Inheritance |
|
|
45 | (4) |
|
|
45 | (1) |
|
|
45 | (2) |
|
|
47 | (1) |
|
|
48 | (1) |
|
2-11 Modeling Is-a and Has-a Relationships Between Two Entities |
|
|
49 | (2) |
|
|
49 | (1) |
|
|
49 | (1) |
|
|
50 | (1) |
|
2-12 Creating, Modifying, and Mapping Complex Types |
|
|
51 | (4) |
|
|
51 | (1) |
|
|
51 | (2) |
|
|
53 | (2) |
|
Chapter 3 Querying an Entity Data Model |
|
|
55 | (52) |
|
3-1 Querying Asynchronously |
|
|
55 | (6) |
|
|
55 | (5) |
|
|
60 | (1) |
|
3-2 Updating with Native SQL Statements |
|
|
61 | (3) |
|
|
61 | (1) |
|
|
61 | (1) |
|
|
62 | (1) |
|
|
63 | (1) |
|
3-3 Fetching Objects with Native SQL Statements |
|
|
64 | (2) |
|
|
64 | (1) |
|
|
64 | (2) |
|
|
66 | (1) |
|
3-4 Querying a Model with Entity SQL |
|
|
66 | (4) |
|
|
66 | (1) |
|
|
66 | (2) |
|
|
68 | (2) |
|
3-5 Finding a Master That Has Detail in a Master-Detail Relationship |
|
|
70 | (2) |
|
|
70 | (1) |
|
|
70 | (2) |
|
|
72 | (1) |
|
3-6 Setting Default Values in a Query |
|
|
72 | (3) |
|
|
72 | (1) |
|
|
72 | (2) |
|
|
74 | (1) |
|
3-7 Returning Multiple Result Sets from a Stored Procedure |
|
|
75 | (2) |
|
|
75 | (1) |
|
|
75 | (1) |
|
|
76 | (1) |
|
3-8 Comparing Against a List of Values |
|
|
77 | (3) |
|
|
77 | (1) |
|
|
77 | (2) |
|
|
79 | (1) |
|
3-9 Filtering Related Entities |
|
|
80 | (3) |
|
|
80 | (1) |
|
|
80 | (2) |
|
|
82 | (1) |
|
3-10 Applying a Left-Outer Join |
|
|
83 | (3) |
|
|
83 | (1) |
|
|
83 | (2) |
|
|
85 | (1) |
|
3-11 Ordering by Derived Types |
|
|
86 | (3) |
|
|
86 | (1) |
|
|
86 | (3) |
|
|
89 | (1) |
|
3-12 Paging and Filtering |
|
|
89 | (2) |
|
|
89 | (1) |
|
|
89 | (2) |
|
|
91 | (1) |
|
|
91 | (3) |
|
|
91 | (1) |
|
|
92 | (2) |
|
|
94 | (1) |
|
3-14 Flattening Query Results |
|
|
94 | (2) |
|
|
94 | (1) |
|
|
94 | (2) |
|
|
96 | (1) |
|
3-15 Grouping by Multiple Properties |
|
|
96 | (4) |
|
|
96 | (1) |
|
|
96 | (3) |
|
|
99 | (1) |
|
3-16 Using Bitwise Operators in a Filter |
|
|
100 | (2) |
|
|
100 | (1) |
|
|
100 | (2) |
|
|
102 | (1) |
|
3-17 Joining on Multiple Columns |
|
|
102 | (5) |
|
|
102 | (1) |
|
|
102 | (3) |
|
|
105 | (2) |
|
Chapter 4 Using Entity Framework in ASP.NET MVC |
|
|
107 | (22) |
|
4.1 Building CRUD Operations in an ASP.NET MVC Page |
|
|
107 | (14) |
|
|
107 | (1) |
|
|
107 | (14) |
|
|
121 | (1) |
|
4-2 Building a Search Query |
|
|
121 | (4) |
|
|
121 | (1) |
|
|
122 | (3) |
|
|
125 | (1) |
|
4-3 Filtering with ASP.NET's URL Routing |
|
|
125 | (4) |
|
|
125 | (1) |
|
|
126 | (2) |
|
|
128 | (1) |
|
Chapter 5 Loading Entities and Navigation Properties |
|
|
129 | (54) |
|
5-1 Lazy Loading Related Entities |
|
|
129 | (3) |
|
|
129 | (1) |
|
|
129 | (2) |
|
|
131 | (1) |
|
5-2 Eager Loading Related Entities |
|
|
132 | (4) |
|
|
132 | (1) |
|
|
132 | (2) |
|
|
134 | (2) |
|
5-3 Finding Single Entities Quickly |
|
|
136 | (4) |
|
|
136 | (1) |
|
|
136 | (2) |
|
|
138 | (2) |
|
5-4 Querying In-Memory Entities |
|
|
140 | (6) |
|
|
140 | (1) |
|
|
140 | (4) |
|
|
144 | (2) |
|
5-5 Loading a Complete Object Graph |
|
|
146 | (4) |
|
|
146 | (1) |
|
|
147 | (3) |
|
|
150 | (1) |
|
5-6 Loading Navigation Properties on Derived Types |
|
|
150 | (3) |
|
|
150 | (1) |
|
|
150 | (2) |
|
|
152 | (1) |
|
5-7 Using Include() with Other LINQ Query Operators |
|
|
153 | (3) |
|
|
153 | (1) |
|
|
153 | (3) |
|
|
156 | (1) |
|
5-8 Deferred Loading of Related Entities |
|
|
156 | (4) |
|
|
156 | (1) |
|
|
156 | (4) |
|
|
160 | (1) |
|
5-9 Filtering and Ordering Related Entities |
|
|
160 | (3) |
|
|
160 | (1) |
|
|
160 | (3) |
|
|
163 | (1) |
|
5-10 Executing Aggregate Operations on Related Entities |
|
|
163 | (3) |
|
|
163 | (1) |
|
|
163 | (3) |
|
|
166 | (1) |
|
5-11 Testing Whether an Entity Reference or Entity Collection Is Loaded |
|
|
166 | (4) |
|
|
166 | (1) |
|
|
166 | (4) |
|
|
170 | (1) |
|
5-12 Loading Related Entities Explicitly |
|
|
170 | (4) |
|
|
170 | (1) |
|
|
170 | (3) |
|
|
173 | (1) |
|
5-13 Filtering an Eagerly Loaded Entity Collection |
|
|
174 | (4) |
|
|
174 | (1) |
|
|
175 | (2) |
|
|
177 | (1) |
|
5-14 Modifying Foreign Key Associations |
|
|
178 | (5) |
|
|
178 | (1) |
|
|
178 | (2) |
|
|
180 | (3) |
|
Chapter 6 Beyond the Basics with Modeling and Inheritance |
|
|
183 | (52) |
|
6-1 Retrieving the Link Table in a Many-to-Many Association |
|
|
183 | (2) |
|
|
183 | (1) |
|
|
183 | (2) |
|
|
185 | (1) |
|
6-2 Exposing a Link Table as an Entity |
|
|
185 | (3) |
|
|
185 | (1) |
|
|
185 | (2) |
|
|
187 | (1) |
|
6-3 Modeling a Many-to-Many, Self-Referencing Relationship |
|
|
188 | (4) |
|
|
188 | (1) |
|
|
188 | (1) |
|
|
189 | (3) |
|
6-4 Modeling a Self-Referencing Relationship Using Table per Hierarchy Inheritance |
|
|
192 | (3) |
|
|
192 | (1) |
|
|
192 | (2) |
|
|
194 | (1) |
|
6-5 Modeling a Self-Referencing Relationship and Retrieving a Complete Hierarchy |
|
|
195 | (3) |
|
|
195 | (1) |
|
|
195 | (3) |
|
|
198 | (1) |
|
6-6 Mapping Null Conditions in Derived Entities |
|
|
198 | (3) |
|
|
198 | (1) |
|
|
199 | (1) |
|
|
200 | (1) |
|
6-7 Modeling Table per Type Inheritance Using a Nonprimary Key Column |
|
|
201 | (5) |
|
|
201 | (1) |
|
|
202 | (3) |
|
|
205 | (1) |
|
6-8 Modeling Nested Table per Hierarchy Inheritance |
|
|
206 | (3) |
|
|
206 | (1) |
|
|
206 | (2) |
|
|
208 | (1) |
|
6-9 Applying Conditions in Table per Type Inheritance |
|
|
209 | (2) |
|
|
209 | (1) |
|
|
209 | (1) |
|
|
210 | (1) |
|
6-10 Creating a Filter on Multiple Criteria |
|
|
211 | (5) |
|
|
211 | (1) |
|
|
211 | (3) |
|
|
214 | (2) |
|
6-11 Using Complex Conditions with Table per Hierarchy Inheritance |
|
|
216 | (6) |
|
|
216 | (1) |
|
|
217 | (2) |
|
|
219 | (3) |
|
6-12 Modeling Table per Concrete Type Inheritance |
|
|
222 | (4) |
|
|
222 | (1) |
|
|
222 | (2) |
|
|
224 | (2) |
|
6-13 Applying Conditions on a Base Entity |
|
|
226 | (4) |
|
|
226 | (1) |
|
|
226 | (3) |
|
|
229 | (1) |
|
6-14 Creating Independent and Foreign Key Associations |
|
|
230 | (1) |
|
|
230 | (1) |
|
|
230 | (1) |
|
|
231 | (1) |
|
6-15 Changing an Independent Association into a Foreign Key Association |
|
|
231 | (4) |
|
|
231 | (1) |
|
|
232 | (2) |
|
|
234 | (1) |
|
Chapter 7 Working with Object Services |
|
|
235 | (22) |
|
7-1 Dynamically Building a Connection String |
|
|
235 | (1) |
|
|
235 | (1) |
|
|
235 | (1) |
|
|
236 | (1) |
|
7-2 Reading a Model from a Database |
|
|
236 | (4) |
|
|
236 | (1) |
|
|
236 | (4) |
|
|
240 | (1) |
|
|
240 | (1) |
|
|
240 | (1) |
|
|
240 | (1) |
|
|
241 | (1) |
|
7-4 Using the Pluralization Service |
|
|
241 | (3) |
|
|
241 | (1) |
|
|
241 | (2) |
|
|
243 | (1) |
|
7-5 Retrieving Entities from the Change Tracker |
|
|
244 | (2) |
|
|
244 | (1) |
|
|
244 | (2) |
|
|
246 | (1) |
|
7-6 Generating a Model from the Command Line |
|
|
246 | (1) |
|
|
246 | (1) |
|
|
246 | (1) |
|
|
246 | (1) |
|
7-7 Working with Dependent Entities in an Identifying Relationship |
|
|
247 | (3) |
|
|
247 | (1) |
|
|
247 | (2) |
|
|
249 | (1) |
|
7-8 Inserting Entities Using a Database Context |
|
|
250 | (2) |
|
|
250 | (1) |
|
|
250 | (1) |
|
|
251 | (1) |
|
7-9 Querying and Saving Asynchronously |
|
|
252 | (5) |
|
|
252 | (1) |
|
|
252 | (4) |
|
|
256 | (1) |
|
Chapter 8 Plain Old CLR Objects |
|
|
257 | (38) |
|
|
257 | (5) |
|
|
257 | (1) |
|
|
257 | (5) |
|
|
262 | (1) |
|
8-2 Loading Related Entities with POCO |
|
|
262 | (3) |
|
|
262 | (1) |
|
|
262 | (3) |
|
|
265 | (1) |
|
8-3 Lazy Loading with POCO |
|
|
265 | (3) |
|
|
265 | (1) |
|
|
265 | (3) |
|
|
268 | (1) |
|
8-4 POCO with Complex Type Properties |
|
|
268 | (4) |
|
|
268 | (1) |
|
|
268 | (3) |
|
|
271 | (1) |
|
8-5 Notifying Entity Framework About Object Changes |
|
|
272 | (3) |
|
|
272 | (1) |
|
|
272 | (3) |
|
|
275 | (1) |
|
8-6 Retrieving the Original (POCO) Object |
|
|
275 | (3) |
|
|
275 | (1) |
|
|
275 | (2) |
|
|
277 | (1) |
|
8-7 Manually Synchronizing the Object Graph and the Change Tracker |
|
|
278 | (4) |
|
|
278 | (1) |
|
|
279 | (2) |
|
|
281 | (1) |
|
8-8 Testing Domain Objects |
|
|
282 | (8) |
|
|
282 | (1) |
|
|
282 | (8) |
|
|
290 | (1) |
|
8-9 Testing a Repository Against a Database |
|
|
290 | (5) |
|
|
290 | (1) |
|
|
290 | (3) |
|
|
293 | (2) |
|
Chapter 9 Using the Entity Framework in N-Tier Applications |
|
|
295 | (46) |
|
9-1 Updating Single Disconnected Entities with the Web API |
|
|
295 | (7) |
|
|
295 | (1) |
|
|
296 | (5) |
|
|
301 | (1) |
|
9-2 Updating Disconnected Entities with WCF |
|
|
302 | (6) |
|
|
302 | (1) |
|
|
302 | (5) |
|
|
307 | (1) |
|
9-3 Finding Out What Has Changed with Web API |
|
|
308 | (9) |
|
|
308 | (8) |
|
|
316 | (1) |
|
9-4 Implementing Client-Side Change Tracking with Web API |
|
|
317 | (11) |
|
|
317 | (1) |
|
|
317 | (10) |
|
|
327 | (1) |
|
9-5 Deleting an Entity When Disconnected |
|
|
328 | (3) |
|
|
328 | (1) |
|
|
328 | (2) |
|
|
330 | (1) |
|
9-6 Managing Concurrency When Disconnected |
|
|
331 | (4) |
|
|
331 | (1) |
|
|
331 | (3) |
|
|
334 | (1) |
|
9-7 Serializing Proxies in a WCF Service |
|
|
335 | (6) |
|
|
335 | (1) |
|
|
335 | (3) |
|
|
338 | (3) |
|
Chapter 10 Stored Procedures |
|
|
341 | (34) |
|
10-1 Returning an Entity Collection with Code Second |
|
|
341 | (4) |
|
|
341 | (1) |
|
|
341 | (4) |
|
|
345 | (1) |
|
10-2 Returning Output Parameters |
|
|
345 | (2) |
|
|
345 | (1) |
|
|
345 | (2) |
|
|
347 | (1) |
|
10-3 Returning a Scalar Value Result Set |
|
|
347 | (2) |
|
|
347 | (1) |
|
|
347 | (2) |
|
|
349 | (1) |
|
10-4 Returning a Complex Type from a Stored Procedure |
|
|
349 | (3) |
|
|
349 | (1) |
|
|
349 | (2) |
|
|
351 | (1) |
|
10-5 Defining a Custom Function in the Storage Model |
|
|
352 | (3) |
|
|
352 | (1) |
|
|
352 | (2) |
|
|
354 | (1) |
|
10-6 Populating Entities in a Table per Type Inheritance Model |
|
|
355 | (3) |
|
|
355 | (1) |
|
|
355 | (2) |
|
|
357 | (1) |
|
10-7 Populating Entities in a Table per Hierarchy Inheritance Model |
|
|
358 | (2) |
|
|
358 | (1) |
|
|
358 | (2) |
|
|
360 | (1) |
|
10-8 Mapping the Insert, Update, and Delete Actions to Stored Procedures |
|
|
360 | (4) |
|
|
360 | (1) |
|
|
361 | (2) |
|
|
363 | (1) |
|
10-9 Using Stored Procedures for the Insert and Delete Actions in a Many-to-Many Association |
|
|
364 | (4) |
|
|
364 | (1) |
|
|
364 | (4) |
|
|
368 | (1) |
|
10-10 Mapping the Insert, Update, and Delete Actions to Stored Procedures for Table per Hierarchy Inheritance |
|
|
368 | (7) |
|
|
368 | (1) |
|
|
368 | (4) |
|
|
372 | (3) |
|
|
375 | (38) |
|
11-1 Returning a Scalar Value from a Model-Defined Function |
|
|
375 | (5) |
|
|
375 | (1) |
|
|
375 | (3) |
|
|
378 | (1) |
|
|
379 | (1) |
|
11-2 Filtering an Entity Collection Using a Model-Defined Function |
|
|
380 | (3) |
|
|
380 | (1) |
|
|
380 | (3) |
|
|
383 | (1) |
|
11-3 Returning a Computed Column from a Model-Defined Function |
|
|
383 | (4) |
|
|
383 | (1) |
|
|
384 | (2) |
|
|
386 | (1) |
|
11-4 Calling a Model-Defined Function from a Model-Defined Function |
|
|
387 | (3) |
|
|
387 | (1) |
|
|
387 | (3) |
|
|
390 | (1) |
|
11-5 Returning an Anonymous Type from a Model-Defined Function |
|
|
390 | (4) |
|
|
390 | (1) |
|
|
390 | (3) |
|
|
393 | (1) |
|
11-6 Returning a Complex Type from a Model-Defined Function |
|
|
394 | (3) |
|
|
394 | (1) |
|
|
394 | (2) |
|
|
396 | (1) |
|
11-7 Returning a Collection of Entity References from a Model-Defined Function |
|
|
397 | (2) |
|
|
397 | (1) |
|
|
397 | (2) |
|
|
399 | (1) |
|
11-8 Using Canonical Functions in eSQL |
|
|
399 | (2) |
|
|
399 | (1) |
|
|
400 | (1) |
|
|
401 | (1) |
|
11-9 Using Canonical Functions in LINQ |
|
|
401 | (3) |
|
|
401 | (1) |
|
|
401 | (2) |
|
|
403 | (1) |
|
|
403 | (1) |
|
11-10 Calling Database Functions in eSQL |
|
|
404 | (2) |
|
|
404 | (1) |
|
|
404 | (2) |
|
|
406 | (1) |
|
11-11 Calling Database Functions in LINQ |
|
|
406 | (2) |
|
|
406 | (1) |
|
|
406 | (2) |
|
|
408 | (1) |
|
11-12 Defining Built-in Functions |
|
|
408 | (5) |
|
|
408 | (1) |
|
|
408 | (3) |
|
|
411 | (2) |
|
Chapter 12 Customizing Entity Framework Objects |
|
|
413 | (38) |
|
12-1 Executing Code When SaveChanges() Is Called |
|
|
413 | (3) |
|
|
413 | (1) |
|
|
413 | (2) |
|
|
415 | (1) |
|
12-2 Validating Property Changes |
|
|
416 | (2) |
|
|
416 | (1) |
|
|
416 | (2) |
|
|
418 | (1) |
|
12-3 Logging Database Connections |
|
|
418 | (3) |
|
|
418 | (1) |
|
|
418 | (2) |
|
|
420 | (1) |
|
12-4 Recalculating a Property Value When an Entity Collection Changes |
|
|
421 | (3) |
|
|
421 | (1) |
|
|
421 | (2) |
|
|
423 | (1) |
|
12-5 Automatically Deleting Related Entities |
|
|
424 | (3) |
|
|
424 | (1) |
|
|
424 | (3) |
|
|
427 | (1) |
|
|
427 | (1) |
|
12-6 Deleting All Related Entities |
|
|
427 | (3) |
|
|
427 | (1) |
|
|
427 | (3) |
|
|
430 | (1) |
|
12-7 Assigning Default Values |
|
|
430 | (4) |
|
|
430 | (1) |
|
|
430 | (3) |
|
|
433 | (1) |
|
12-8 Retrieving the Original Value of a Property |
|
|
434 | (2) |
|
|
434 | (1) |
|
|
434 | (2) |
|
|
436 | (1) |
|
12-9 Retrieving the Original Association for Independent Associations |
|
|
436 | (3) |
|
|
436 | (1) |
|
|
436 | (3) |
|
|
439 | (1) |
|
|
439 | (3) |
|
|
439 | (1) |
|
|
439 | (3) |
|
|
442 | (1) |
|
12-11 Applying Server-Generated Values to Properties |
|
|
442 | (3) |
|
|
442 | (1) |
|
|
442 | (3) |
|
|
445 | (1) |
|
12-12 Validating Entities on Saving Changes |
|
|
445 | (6) |
|
|
445 | (1) |
|
|
445 | (5) |
|
|
450 | (1) |
|
|
450 | (1) |
|
Chapter 13 Improving Performance |
|
|
451 | (32) |
|
13-1 Optimizing Queries in a Table per Type Inheritance Model |
|
|
451 | (2) |
|
|
451 | (1) |
|
|
451 | (1) |
|
|
452 | (1) |
|
13-2 Retrieving a Single Entity Using an Entity Key |
|
|
453 | (3) |
|
|
453 | (1) |
|
|
453 | (2) |
|
|
455 | (1) |
|
13-3 Retrieving Entities for Read-Only Access |
|
|
456 | (4) |
|
|
456 | (1) |
|
|
456 | (3) |
|
|
459 | (1) |
|
13-4 Efficiently Building a Search Query |
|
|
460 | (3) |
|
|
460 | (1) |
|
|
460 | (2) |
|
|
462 | (1) |
|
13-5 Making Change Tracking with POCO Faster |
|
|
463 | (4) |
|
|
463 | (1) |
|
|
463 | (3) |
|
|
466 | (1) |
|
13-6 Auto-Compiling LINQ Queries |
|
|
467 | (3) |
|
|
467 | (1) |
|
|
467 | (2) |
|
|
469 | (1) |
|
13-7 Returning Partially Filled Entities |
|
|
470 | (1) |
|
|
470 | (1) |
|
|
470 | (1) |
|
|
471 | (1) |
|
13-8 Moving an Expensive Property to Another Entity |
|
|
471 | (4) |
|
|
471 | (1) |
|
|
472 | (3) |
|
|
475 | (1) |
|
|
475 | (4) |
|
|
475 | (1) |
|
|
475 | (4) |
|
|
479 | (1) |
|
13-10 Generating Proxies Explicitly |
|
|
479 | (4) |
|
|
479 | (1) |
|
|
479 | (2) |
|
|
481 | (2) |
|
|
483 | (20) |
|
14-1 Applying Optimistic Concurrency |
|
|
483 | (3) |
|
|
483 | (1) |
|
|
483 | (2) |
|
|
485 | (1) |
|
14-2 Managing Concurrency When Using Stored Procedures |
|
|
486 | (4) |
|
|
486 | (1) |
|
|
486 | (3) |
|
|
489 | (1) |
|
14-3 Reading Uncommitted Data |
|
|
490 | (2) |
|
|
490 | (1) |
|
|
490 | (1) |
|
|
491 | (1) |
|
14-4 Implementing the "Last Record Wins" Strategy |
|
|
492 | (2) |
|
|
492 | (1) |
|
|
492 | (1) |
|
|
493 | (1) |
|
14-5 Getting Affected Rows from a Stored Procedure |
|
|
494 | (4) |
|
|
494 | (1) |
|
|
494 | (3) |
|
|
497 | (1) |
|
14-6 Optimistic Concurrency with Table Per Type Inheritance |
|
|
498 | (2) |
|
|
498 | (1) |
|
|
498 | (2) |
|
|
500 | (1) |
|
14-7 Generating a Timestamp Column with Model First |
|
|
500 | (3) |
|
|
500 | (1) |
|
|
501 | (1) |
|
|
501 | (2) |
Index |
|
503 | |