CodeFluent Entities Documentation
The Business Object Model
See Also Send comments on this topic.
CodeFluent Entities > Developer Guide > The Business Object Model

Glossary Item Box

The Business Object Model is a set of .NET classes, generated by the Business Object Model producer, constituting a Domain Model.

The generated model is a direct translation of your CodeFluent Entities model, therefore it contains all key concepts of your application. Consequently a good practice is too also include in this same class library all hand-coded extra business rules, concepts and operations.

The Business Object Model (BOM) sits between the persistence layer and upper layers such as the UI and Services layer. Using the classes in the BOM will allow you to manipulate their corresponding persistence objects and all upper layers are based on this same BOM. Therefore the generated BOM can be used across all .NET technologies (ASP.NET Web Forms, ASP.NET MVC, Windows Forms, WPF, SharePoint, WCF, Workflows, etc.) and remains the same independently of the underlying persistence layer (e.g. SQL Server, SQL Azure, Oracle Database, MySQL, PostgreSQL). 

Since it's the backbone of your application containing all its logic and reused by all layers, whenever a developer needs to extend it manually, he should always do it in the BOM layer.

 

The BOM is composed of classes, each class being the result of an entity created earlier, at design time. The properties that were designed will appear as properties of the generated classes, and the same principle is true for the designed methods. As a consequence, if we designed a Customer entity for instance, our BOM will contain a Customer class, and each properties, methods, and designed rules will be contained in that class.

Each generated entity contains a default set of features.

Basically, each entity holds a default set of methods such as Load, Save, Delete, Validate, ergo CRUD operations and validation are supported out-of-the-box and without a single line of code. Of course more methods (and features) are available than those four and they'll all be detailed in this section.

Added to those methods, the generated entity class and its corresponding collection class implement an extensive set of interfaces, helping the developer in his further developments. It's also important to emphasize that all generated classes are designed to ease the developer's further developments. For instance, all classes are serializable, related entities are lazy-loaded, sorting and pagination methods are available and much more.

Now that you have a general idea of what the Business Object Model is, lets dive into each of the available features.

 

In This Section

Using The Business Object Model

Provides global information on how to use the generated Business Object Model (BOM).

 

Application Configuration

Provides information on how to configure your application to be able to use the Business Object Model (BOM).

 

Identity

Provides information on how entities can be identified at runtime.

 

Events

Provides information on available events in the Business Object Model (BOM).

 

Data Binding

Provides information on the data binding feature available in the Business Object Model (BOM).

 

Data Validation

Provides information on the data validation feature available in the Business Object Model (BOM).

 

Security

Provides information on the security features available in the Business Object Model (BOM).

 

Concurrency

Provides information on the concurrency feature available in the Business Object Model (BOM).

 

Transactions

Provides information on the transaction features available in the generated Business Object Model (BOM).

 

Localization

Provides information on the localizing features available in the generated Business Object Model (BOM), and how you can capitalize on those in order to localize your application.

 

Comparing, Copying and Cloning Entities

Provides information on classic operations such as copying, cloning, comparing or tracing entities.

 

Sorting And Paging

Provides information on the sorting and paging features available in the generated Business Object Model (BOM).

 

Managing Large Objects

Provides information on the Binary Large Object (Blob) management features available in the generated Business Object Model (BOM).

 

LINQ To SQL

Provides information on how LINQ To SQL is supported in the Business Object Model (BOM).

 

Caching

Provides information on the caching feature available in the generated Business Object Model (BOM).

 

Debugging

Provides information on debugging features available in the generated Business Object Model (BOM).

See Also