eXpress Persistent Objects for .NET represents a powerful bridge between the object world and the world of relational databases. It gives developers the freedom to build true business objects without having to deal with the tedious complexities of mapping them onto database tables. eXpress Persistent Objects for .NET completely abstracts the database layer from a developer, leaving him or her fully in the object-oriented realm. With XPO, you can build applications that work with multiple database systems (presently supports MS Access and MS SQL Server) without making ANY changes to your code.
特征综述 About Feature
声明:本产品中文介绍为慧都控件网版权所有,未经慧都公司书面许可,严禁拷贝、转载!
XPO has been designed for small and large development teams alike. It will help you shorten development time and more reliably manage and deliver any software project.

Below is a brief list of features available in eXpress Persistent Objects for .NET.
- Transparent and Controllable Object-Relational Mapping System - By using .NET Reflection and attributes introduced by XPO, XPO.NET is able to map the properties of business objects to relational database tables. Object associations (one-to-one, one-to-many, many-to-many), aggregation and inheritance are all FULLY supported.
- Bindable and Pageable Object Collections - With XPO.NET, you can retrieve collections of persistent objects, paginate and bind them to UI controls with ease.
- Object Queries - You can specify retrieval, sorting and filtering criteria using straightforward object syntax.
- Advanced Support for Existing Database Schemas - XPBaseObject can serve as a base class for persistent objects, giving the ability to map such objects to an existing database without having to make any modifications whatsoever to the database's structure.
- Comprehensible Database Generation and Updates - XPO.NET allows you to generate or update database tables based upon the definitions of your persistent object classes.
- Support for various DB engines - XPO.NET provides built-in support for MS Access and MS SQL Server databases as well as for MySQL, Oracle, PostgreSql and Advantage database servers. This means you can target these database engines without having to make any modifications to your code.
- Add Persistence to Existing Inheritance Hierarchies via Interfaces.
- XML Model with Custom Attributes - XPO.NET uses an abstract metadata model instead of .NET Reflection. .NET Reflection metadata can be obtained by means of the ReflectionDictionary which is used by default. The XPDictionary class and all its descendants including the ReflectionDictionary have the ability to supply XML data specifying mapping information and custom attributes for modifying the data accumulated via .NET Reflection.
- Advanced Criteria System - A wide set of criteria operators allow you to build complex criteria representing the logical expressions used to retrieve objects from the database, including the aggregate operations.
- Delayed Loading for Object Properties - With XPO.NET, you can improve application performance by delaying the loading of certain properties which are used rarely or contain large amounts of data.
- Transaction Support - XPO.NET provides transaction support the same way as Microsoft ADO.NET does. You can easily Begin the transaction, then Commit or Rollback with the appropriate Session methods.
- Optimistic Locking - Optimistic concurrency is supported for updates ("First in wins" rule).
- Custom OID - Key attribute has been added. A class property - of any supported data type - annotated with this attribute is treated as a key. Key auto-generation is supported only for Guid and Int32 data types.
- Precise Definition of the Column Type the Persistent Property or Field is Mapped to - The DbTypeAttribute can be used to designate a provider-specific database type for the column which the persistent property or field is mapped to.
- Explicit Declaration of a String Field of Unlimited Size - Unlimited Text/Memo field size can be defined by specifying the SizeAttribute.Unlimited constant.
- Custom Security Options - As a possible solution for security issues, transparent conversions of persistent property values' from/to database values are now available in XPO.NET.
- Persistent Class Template - Provides the easiest and fastest way to add persistent classes to your project.
- Enhanced XtraGrid Integration - The new xpoXtraDataAdapter component allows you to use the advanced features provided by the Developer Express XtraGrid component for displaying, sorting and grouping data retrieved by the XPCollection and XPCursor.
- C# Builder, Borland Delphi .NET, Mono Support - XPO.NET fully compatible with the Borland C# Builder, Borland Delphi .NET and the Mono C# compiler.
- Session, XPCollection, XPPageSelector Components - These components allow you to set the DataSource and bind them to any visual component such as a grid control, edit control or any other data-aware controls at design time.
- IBindingList Collection Behavior - XPCollection supports IBindingList and you can add or remove collection items via this interface at run time.
- Custom Constraints and Indexes - Advanced metadata attributes allow you to specify database constraints and indexes for a persistent property or a field. By handling the SchemaInit event of the Session object you can enforce any custom database modifications.
- IEditableObject XPBaseObject Behavior - XPBaseObject supports IEditableObject and you can control the object's changes via this interface.
- Advanced Event System - In order to perform custom actions during object, collection and session manipulations, you can employ the events raised when the session / transaction state or collection contents are changed or the underlying database metadata for the object is about to be modified.
- Database Integrity Validation - XPO.NET keeps the underlying database up-to-date and integrated automatically, unless you choose to disable this functionality.
更新时间:2008-2-29 | 录入时间:2006-6-7 | 编辑:liuzh | 审核:huy