Language: English
Pages: 379
Contents......Page 3
Introduction to Object-Relational Mapping......Page 9
What Is ORM?......Page 10
Benefits of ORM......Page 11
Qualities of a Good ORM Tool......Page 12
Impedance Mismatch......Page 14
Object Persistence......Page 18
Basic ORM Approach......Page 19
Summary......Page 20
Domain-Driven Design......Page 22
UML......Page 23
Domain Model Structure......Page 25
Entities......Page 26
Value Objects......Page 27
Aggregates......Page 28
Services......Page 29
Domain Model......Page 30
Table Module......Page 32
Database Mapper......Page 33
Inheritance......Page 34
Relationships......Page 36
Laziness......Page 39
Factories......Page 40
Repository/Data Access Objects (DAOs)......Page 41
Persistence Ignorance......Page 43
PI and EF......Page 45
Further Reading......Page 47
Summary......Page 48
What Is LINQ to SQL?......Page 50
LINQ to SQL Designer......Page 51
DataContext Class......Page 55
DBML and Mapping Fundamentals......Page 57
Entity Classes......Page 63
SqlMetal......Page 68
Querying......Page 70
Updating/Inserting/Deleting......Page 76
Summary......Page 81
Debugging......Page 82
Using Stored Procedures......Page 84
Working with User-Defined Functions......Page 94
Constructing Relationships, Joins, and Projections......Page 95
Validation......Page 108
Transactions......Page 110
Summary......Page 113
What Is EF?......Page 115
Exploring the Designer......Page 116
Understanding the EDM......Page 121
CSDL......Page 122
SSDL......Page 124
MSL......Page 126
Metadata Schemas......Page 128
Designer Metadata......Page 136
Generated Classes......Page 138
Using EDMGen......Page 144
Summary......Page 147
Object Services: LINQ to Entities......Page 148
Querying......Page 149
Using Query Operators......Page 159
Updating, Inserting, and Deleting......Page 169
Compiled Queries......Page 174
Summary......Page 176
Inheritance......Page 177
Single-Table Mapping......Page 178
Table per Type......Page 182
Table per Concrete Class......Page 187
Entity Client Provider......Page 190
ESQL......Page 191
Stored Procedures......Page 204
Summary......Page 206
Requirements and Use Cases......Page 208
Unknown......Page 0
1A: User Registration......Page 209
1B: Loan Application......Page 210
1C: Loan Application Evaluation......Page 211
1D: Account/Loan Summary......Page 212
The Model......Page 213
Base Classes......Page 214
Entities......Page 224
Roles......Page 226
Managers......Page 228
DAO Implementation......Page 233
Class Service Infrastructure......Page 234
Summary......Page 240
Creating Classes with the Object Relational Designer......Page 242
Using Inheritance......Page 244
Using Compiled Queries......Page 247
Building a Foundation......Page 248
Creating a Database......Page 269
Working with Many-to-Many Relationships......Page 273
Where to Go from Here......Page 274
Summary......Page 275
Persistence Ignorance/Custom Objects......Page 276
IPOCO Interfaces......Page 277
Top-Down Designer......Page 280
Applying IPOCO to BoP......Page 281
Mappings/Database......Page 291
Middle Tier/Context Manager......Page 298
Summary......Page 307
DTOs......Page 309
Layered LTS......Page 311
Layered EF......Page 322
ASP.NET......Page 329
Summary......Page 343
LTS vs. EF......Page 344
Functionality Differences......Page 345
Alternatives......Page 348
NHibernate......Page 349
EntitySpaces......Page 352
LLBLGen Pro......Page 357
Summary......Page 360
Index......Page 361