Is there documentation available
Can I get help using NHibernate
Is there commercial support available
Prepare our development environment
Time for action Creating the product inventory model
Time for action Creating the mapping classes
Time for action Creating the database
Time for action Creating a session factory
Time for action Opening a session to the database
Persisting objects to the database
Time for action Adding a new category to the database
Time for action Loading the list of all categories from the database
Doing the same without NHibernate using ADO.NET only
Time for action Creating a Name value object
Time for action Creating a base entity
Time for action Creating a Customer entity
Defining relations between entities
Time for action Implementing an order entry model
Time for action Creating the OrderingSystem database
Laying the foundation table layouts
Time for action Creating the Categories table
Time for action Defining a script to create the Products table
Relations, constraints, and indices
Time for action Adding a constraint to the Product table
Time for action Creating a script to add a check constraint
Time for action Adding an index using the designer
Time for action Creating a script to add an index
Time for action Creating a schema for the order entry system
Do not use database-generated IDs
What about stored procedures and triggers?
Mapping the Model to the Database
Creating database schema creation scripts
Time for action Mapping our domain
Time for action Using auto-mapping
Time for action Using ConfORM to map our domain
Time for action Mapping a simple domain using XML
What are sessions and transactions
First level cache or identity map
No database operation without a transaction
NHibernate session versus database session
Time for action Creating a session and doing some CRUD
Time for action Implementing session management for a web application
Time for action Using a second level cache
Testing, Profiling, Monitoring, and Logging
Preparing our environment for testing
Time for action Creating the base for testing
Time for action Using SQLite in our tests
Time for action Adding logging to our application
Time for action Enable logging in NHibernate
Time for action Adding NHibernate Profiler support
Why do we need a configuration?
Time for action Configuring NHibernate using XML
Configuring NHibernate in code
Time for action Configuring NHibernate in code
Time for action Using Loquacious to configure NHibernate
The LINQ to NHibernate provider
Creating a report using LINQ to NHibernate
Time for action Preparing the system
Time for action Creating the reports
Time for action Using QueryOver to retrieve data
Executing multiple queries in a batch
Eager loading versus lazy loading
Validating the Data to Persist
What is validation and why is it so important?
Why, what, and where do we validate?
Time for action Using property validation
Validating complex business rules
Time for action Validating user input
What to do if we don't own the database?
Common Pitfalls—Things to Avoid
Wrong mapping for read-only access
Using LINQ to NHibernate the wrong way
Using one model for read and write operations
Time for action Causing a phantom update