Explore the full potential of NHibernate to build robust data access code
Connecting the object-oriented world of .NET to the relational world of databases has always been fiddly but with the onset of ORMs such as NHibernate, developers have finally got some relief in this area.
You will begin with a bird's eye view of NHibernate, touching upon its core concepts. You will define domain model and map it with database schema using different techniques. You will then look into multiple ways of storing domain entities in a database and learn important concepts such as transitive persistence, transactions and unit of work. This will be followed by retrieving data from database. Next, you will optimize your code, explore concepts such as the onion architecture, and learn where NHibernate fits best in an application's architecture. After introducing a well-known repository pattern into our application, you will learn to deal with legacy databases. We will conclude with infrequently used features such as stateless sessions, the second level cache, concurrency, and so on, which might come handy.
What You Will Learn
Map domain entities to a database schema using the different mapping mechanisms available
Configure NHibernate through XML configuration
Save, update, and delete entities in the database and query data from a database using different querying methods
Optimize database operations for speed and memory consumption
Use NHibernate in real-life software projects
Get to know about data access patterns such as repository, specification, and query object
Use NHibernate with legacy databases
Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.