Write for Us
Everything in O/R mapping starts with mapping your objects to your relational tables. Here are some specific features in this area that you should know:
As you saw, a popular design pattern separates persistent objects into "domain" and "factory" objects. One important O/R mapping feature is to let you decide whether you want to generate both domain and factory objects or use your existing domain objects and only generate factory objects that know about your domain objects.
Some people do not want to generate "domain" objects preferring instead to develop them by hand and only generate the "factory" objects. The reason behind this is that their domain objects are being used in almost all subsystems of their application and therefore they do not want them changing frequently through subsequent code regenerations. But, they do not mind generating the "factory" objects since their use is localized to a few places (for load and save operations).
Therefore, the O/R mapping tool should let you use your existing domain objects and map, and generate only the factory objects. It should use .NET Reflection to read your domain object definition and after you have done the mapping, it should generate the factory objects in such a way that these factory objects use your domain objects to hold all the data.
A database transaction allows you to group multiple operations as one atomic operation so that either all operations succeed or none succeeds. Transactional operations include create, read, update, and delete (also called insert, update, load, and delete). Each transaction operation is performed only on one row of data in a table.
You will be working in one of two main transactional environments and your O/R mapping tools needs to know both of them so it can generate code accordingly. The options are: