Book Image

NHibernate 3 Beginner's Guide

By : Dr. Gabriel Nicolas Schenker, Aaron Cure
Book Image

NHibernate 3 Beginner's Guide

By: Dr. Gabriel Nicolas Schenker, Aaron Cure

Overview of this book

<p>Ideally, we would want to persist the objects our application uses and produces AS IS, without having to first transform them in complex ways. NHibernate is a framework that provides us with an object-oriented access to a relational database without having to write SQL and with little or no database-specific data access code. Definitely, if you are a .NET developer, knowing more about NHibernate will simplify and reduce your efforts in developing .Net applications.<em>NHibernate 3 Beginner's Guide</em> introduces Nhibernate with step-by-step examples, and is the easiest way to learn about bridging the gap between object-oriented .NET applications and the relational database that stores the application's data. It is a beginner's guide to NHibernate that starts from scratch. Successive chapters build upon earlier concepts, while the sample code presents various ways to accomplish typical data access tasks.</p> <p><em>NHibernate 3 Beginner's Guide</em> examines all of the topics required to get a functional data access layer implemented while writing the least amount of code possible, presenting options along the way to handle particular edge cases or situations as they arise. The book begins with an introduction to NHIbernate 3 and then moves on to creating the development environment. Then it teaches you how to create a model, define a database schema, and map the model to the database then covers sessions and transactions. This is succeeded by testing, profiling, and configuration, validation of data and writing queries. Finally, we wrap up with notes on the common pitfalls that you should avoid.</p> <p>Once you complete reading the book, you will have gained the skills and knowledge to incorporate NHibernate into your own applications.</p>
Table of Contents (19 chapters)
NHibernate 3 Beginner's Guide
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Doing the same without NHibernate – using ADO.NET only


So far, we have seen that we can, with minimal effort, write an object-oriented application which can persist its data to a RDBMS and can also recreate objects by reading previously persisted data from the RDBMS. At no time did we have to deal with any specifics of the RDBMS we chose as our data store.

If we had decided not to use an ORM framework and handcraft our data access layer, then we would have had to implement a considerable amount of code. We would also be required to have created the database schema from hand and write SQL statements for insert, update, delete, and read operations. For the C# compiler, these SQL statements are just strings and no syntax checking is possible.

Using datasets and code generation might seem to diminish the problem, but this is not a real solution. On one hand, using datasets instead of domain objects makes it more difficult to write object-oriented, extendable, scalable, and robust applications...