contents


foreword
preface
acknowledgments
about this book

Part 1 Discovering ORM with NHibernate

1 Object/relational persistence in .NET
1.1 What is persistence?
1.2 Approaches to persistence in .NET
1.3 Why do we need NHibernate?
1.4 Object/relational mapping
1.5 Summary
2 Hello NHibernate!
2.1 “Hello World” with NHibernate
2.2 Understanding the architecture
2.3 Basic configuration
2.4 Advanced configuration settings
2.5 Summary

Part 2 NHibernate deep dive

3 Writing and mapping classes
3.1 The CaveatEmptor application
3.2 Implementing the domain model
3.3 Defining the mapping metadata
3.4 Basic property and class mappings
3.5 Understanding object identity
3.6 Fine-grained object models
3.7 Introducing associations
3.8 Mapping class inheritance
3.9 Summary
4 Working with persistent objects
4.1 The persistence lifecycle
4.2 The persistence manager
4.3 Using transitive persistence in NHibernate
4.4 Retrieving objects
4.5 Summary
5 Transactions, concurrency, and caching
5.1 Understanding database transactions
5.2 Working with conversations
5.3 Caching theory and practice
5.4 Summary
6 Advanced mapping concepts
6.1 Understanding the NHibernate type system
6.2 Mapping collections of value types
6.3 Mapping entity associations
6.4 Mapping polymorphic associations
6.5 Summary
7 Retrieving objects efficiently
7.1 Executing queries
7.2 Basic queries for objects
7.3 Joining associations
7.4 Writing report queries
7.5 Advanced query techniques
7.6 Native SQL
7.7 Optimizing object retrieval
7.8 Summary

Part 3 NHibernate in the real world

8 Developing NHibernate applications
8.1 Inside the layers of an NHibernate application
8.2 Solving issues related to .NET features
8.3 Achieving goals and solving problems
8.4 Integrating services: the case of audit logging
8.5 Summary
9 Writing real-world domain models
9.1 Development processes and tools
9.2 Legacy schemas
9.3 Understanding persistence ignorance
9.4 Implementing the business logic
9.5 Data-binding entities
9.6 Filling a DataSet with entities’ data
9.7 Summary
10 Architectural patterns for persistence
10.1 Designing the persistence layer
10.2 Implementing conversations
10.3 Using NHibernate in an Enterprise Services application
10.4 Summary

 
appendix A SQL fundamentals
appendix B Going forward
index