KREDOR Business Object Framework Documentation

Kredor.BO Namespace

The Kredor.BO namespace contains the main classes of the Framework. The centerpiece of the KREDOR Framework architecture is the BusinessObject class, which provides automatic persistence for all classes that derive from it.

The second important class is SelectFrom/SelectFrom<T> which provides methods to query the database and return matching business objects. Loading an object from the database automatically loads all child objects or collections - the whole object tree as defined in the class using attributes.

The third part of the framework is a set of attributes that allow the defining of object trees. For example, an Account may have as properties MailingAddress, BillingAddress, List<Order>.

Namespace hierarchy


BOException Represents the exception that is thrown when the framework encounters a problem.
BusinessObject The root base class of all data-bound objects. It encapsulates database interactions. Typically you should not have classes derive directly from it. It is better to use an intermediary base class, one per database, which incapsulates the connection parameters.
DataSource Represents a data source to which business objects are bound.
DataSourceAttribute Indicates the DataSource to which instances of a class are bound by default. This can be overwritten by calling SelectFrom...Select(datasource) instead of SelectFrom...Select(), or businessObject.Save(datasource) instead of businessObject.Save().
EnforceSchemaAttribute Indicates whether an exception should be raised if there is not a field in the business class for every column in its database schema. Could be specified at the assembly level or per class.
FromAttribute Specifies the type of object to be loaded into an ArrayList field (joined field).
NamingConventionsAttribute Specifies the naming conventions for tables and stored procedures.
Nulls Contains the values representing a database NULL for various .NET value types.
OnAttribute Specifies the ON clause linking a joined field with its parent object. When a parent object is loaded from the database all its joined fields and subfields are automatically loaded as well.
OrAttribute Specifies that the next WhereAttribute is to be OR-ed with the previus one.
OrderBy Represents an ORDER BY/SORT BY tuple, for example: "LastName Descending".
OrderByAttribute Specifies an OrderBy clause to be used when selecting the objects for a joined field.
SchemaAttribute Specifies the name to use instead of the class name when probing the database for matching table or stored procedures.
SelectFrom Represents a SELECT query used to select business objects from the database.
SelectFrom<T> Represents a SELECT query used to select business objects from the database.
StoredProceduresAttribute Overwrites the defaults as to how the class is bound to the database.
WhereAttribute Specifies a criteria to further filter the value(s) for a joined field.


DateTimeOperation An enumeration used with the WhereAttribute to specify a DateTime expression
DateTimes An enumeration used with the WhereAttribute to specify a DateTime expression
Op Specifies a comparison SQL operator
OrderDirection Specifies the sort/order direction for the OrderBy method.