Author(s): Vijay P. Mehta
Publisher: Apress
Year: 2008
Language: English
Pages: 391
Contents at a Glance......Page 4
Contents......Page 6
About the Author......Page 11
About the Technical Reviewer......Page 12
Acknowledgments......Page 13
Introduction......Page 14
Introduction to Object-Relational Mapping......Page 18
What Is ORM?......Page 19
Benefits of ORM......Page 20
Qualities of a Good ORM Tool......Page 21
Impedance Mismatch......Page 23
Object Persistence......Page 27
Basic ORM Approach......Page 28
Summary......Page 29
Domain-Driven Design......Page 31
UML......Page 32
Domain Model Structure......Page 34
Entities......Page 35
Value Objects......Page 36
Aggregates......Page 37
Services......Page 38
Domain Model......Page 39
Table Module......Page 41
Database Mapper......Page 42
Inheritance......Page 43
Relationships......Page 45
Laziness......Page 48
Factories......Page 49
Repository/Data Access Objects (DAOs)......Page 50
Persistence Ignorance......Page 52
PI and EF......Page 54
Further Reading......Page 56
Summary......Page 57
What Is LINQ to SQL?......Page 59
LINQ to SQL Designer......Page 60
DataContext Class......Page 64
DBML and Mapping Fundamentals......Page 66
Entity Classes......Page 72
SqlMetal......Page 77
Querying......Page 79
Updating/Inserting/Deleting......Page 85
Summary......Page 90
Debugging......Page 91
Using Stored Procedures......Page 93
Working with User-Defined Functions......Page 103
Constructing Relationships, Joins, and Projections......Page 104
Validation......Page 117
Transactions......Page 119
Summary......Page 122
What Is EF?......Page 124
Exploring the Designer......Page 125
Understanding the EDM......Page 130
CSDL......Page 131
SSDL......Page 133
MSL......Page 135
Metadata Schemas......Page 137
Designer Metadata......Page 145
Generated Classes......Page 147
Using EDMGen......Page 153
Summary......Page 156
Object Services: LINQ to Entities......Page 157
Querying......Page 158
Using Query Operators......Page 168
Updating, Inserting, and Deleting......Page 178
Compiled Queries......Page 183
Summary......Page 185
Inheritance......Page 186
Single-Table Mapping......Page 187
Table per Type......Page 191
Table per Concrete Class......Page 196
Entity Client Provider......Page 199
ESQL......Page 200
Stored Procedures......Page 213
Summary......Page 215
Requirements and Use Cases......Page 217
Unknown......Page 0
1A: User Registration......Page 218
1B: Loan Application......Page 219
1C: Loan Application Evaluation......Page 220
1D: Account/Loan Summary......Page 221
The Model......Page 222
Base Classes......Page 223
Entities......Page 233
Roles......Page 235
Managers......Page 237
DAO Implementation......Page 242
Class Service Infrastructure......Page 243
Summary......Page 249
Creating Classes with the Object Relational Designer......Page 251
Using Inheritance......Page 253
Using Compiled Queries......Page 256
Building a Foundation......Page 257
Creating a Database......Page 278
Working with Many-to-Many Relationships......Page 282
Where to Go from Here......Page 283
Summary......Page 284
Persistence Ignorance/Custom Objects......Page 285
IPOCO Interfaces......Page 286
Top-Down Designer......Page 289
Applying IPOCO to BoP......Page 290
Mappings/Database......Page 300
Middle Tier/Context Manager......Page 307
Summary......Page 316
DTOs......Page 319
Layered LTS......Page 321
Layered EF......Page 332
ASP.NET......Page 339
Summary......Page 353
LTS vs. EF......Page 355
Functionality Differences......Page 356
Alternatives......Page 359
NHibernate......Page 360
EntitySpaces......Page 363
LLBLGen Pro......Page 368
Summary......Page 371
Index......Page 373