concept persistence layer in category .net

This is an excerpt from Manning's book NHibernate in Action.
In your applications, you’ll often want to load, manipulate, and save database items. Regardless of which persistence approach you use, at some point ADO.NET objects must be created and SQL commands must be executed. It would be tedious and unproductive to write all this SQL code each time you have to manipulate data, so you can use a persistence layer to take care of these low-level steps.
The persistence layer is the set of classes and utilities used to make life easier when it comes to saving and loading data. ADO.NET lets you execute SQL commands that perform the persistence, but the complexity of this process requires that you wrap these commands behind components that understand how your entities should be persisted. These components can also hide the specifics of the database, making your application less coupled to the database and easier to maintain. For example, when you use a SQL identifier containing spaces or reserved keywords, you must delimit this identifier. Databases like SQL Server use brackets for that, whereas MySQL uses back-ticks. It’s possible to hide this detail and let the persistence layer select the right delimiter.
Based on the approach you use, the internals of the persistence layer differ widely.
With all this knowledge, you should be able to create the domain model, map it to the database, and implement the business layer and the presentation layer. We’ve discussed domain models, but so far we haven’t addressed the persistence layer in much depth. In chapter 2, you may recall using simple function calls to load, save, and update your entities. These types of examples are great for quickly explaining concepts; but in a real-world application, you’ll benefit from something more structured and coordinated.
This chapter starts with the presentation of the Data Access Object (DAO) pattern. It’s a popular pattern that deals with the organization of the persistence layer. We’ll take this pattern and demonstrate how you can build a neat, structured persistence layer that is both generalized and reusable.