O'Reilly logo

Working with NHibernate 3.0 by Benjamin Perkins

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

5

Managing State and Saving Data

In the previous chapter, the LINQ to NHibernate API was discussed. Like the IQuery, ICriteria, and QueryOver APIs, LINQ to NHibernate provides functionality that enables the retrieval of data from a database in an object-oriented manner. Up to now, only the retrieval of data has been covered. This chapter, however, covers data insertion and entity state management. This is where many of NHibernate's strengths lie. It is also a more complicated aspect of NHibernate, however, and therefore more diffi cult to comprehend and implement. This chapter clarifi es the following topics:

  • An overview of concurrency
  • Using NHibernate versioning
  • Implementing a custom data type using IUserType
  • Inserting data into a database
  • Using the first- and second-level caches
  • Understanding the Evict(), Merge(), and Persist() methods
  • Implementing batch processing

INTRODUCTION

Of course, a discussion about NHibernate isn't complete without covering the management and manipulation of data. It is relatively difficult to find good examples of inserting data using NHibernate, probably because there are so many options and implementation possibilities. The task, or program requirement, at hand determines which technique is the best in a given situation.

Before using NHibernate's methods, such as Save(), SaveOrUpdate(), Update(), and so on, which add or modify data on the database, it is important to understand the three different instance states an object can have: transient, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required