eXpress Persistent Objects for .NET (XPO) 관련 정보

투명한 ORM(Object-Relational Mapping)을 만듭니다.

eXpress Persistent Objects for .NET (DevExpress XPO) represents a bridge between the object world and the world of relational databases. eXpress Persistent Objects for .NET (DevExpress XPO) 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 (DevExpress XPO) completely abstracts the database layer from a developer, leaving him or her fully in the object-oriented realm. With DevExpress XPO, you can build applications that work with multiple database systems (presently supports MS Access, MS SQL Server, MySQL, Oracle, PostgreSql, Firebird, PervasiveSQL, VistaDB, SQL Anywhere, Advantage, DB2 and Sybase) without making any changes to your code.

Easy to Use and Highly Productive

With eXpress Persistent Objects for .NET, you never again have to deal with table mapping - all you need is to define persistent object classes, and XPO.NET will generate your database for them automatically. It will transparently handle relationships between classes and object inheritance. But you never sacrifice ease-of-use for flexibility. If you ever need more control over O/R mapping, you can simply use the built-in attributes to provide additional mapping information to XPO.NET and thus address any business requirement

With XPO.NET, you can start your database application development directly from the object model. You never have to spend your time on tables, columns, keys and constraints - just roll up your sleeves and focus on writing code! XPO.NET will keep your database structure up-to-date. It will allow you to focus on important application-specific issues, rather than on pain-in-the-neck generic purpose database issues.

Features:

  • Transparent and controllable Object-Relational Mapping (ORM) system - By using .NET Reflection and attributes system, XPO is able to map 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 Object Collections - With XPO, you can retrieve collections of persistent objects and bind them to UI controls with ease
  • Object Queries - You can specify filtering and retrieval criteria using straightforward object syntax
  • Database Generation and Updates - XPO allows you to generate or update database tables based upon the definitions of your persistent object classes
  • Support for MS Access, MS SQL Server, MySQL, Oracle, PostgreSql, Firebird, PervasiveSQL, VistaDB, SQL Anywhere, Advantage, DB2 and Sybase
  • Delayed Loading for Object Properties - With XPO.NET, you can improve application performance by delaying the loading of certain properties which are rarely used or contain large amounts of data
  • Add Persistence to Existing Inheritance Hierarchies via Interfaces
  • XML Model with Custom Attributes - XPO now uses an abstract metadata model instead of .NET Reflection. .NET Reflection metadata can be obtained by means of ReflectionDictionary which is used by default. The XmlDictionary class extends ReflectionDictionary with the ability to supply XML data specifying mapping information and custom attributes for modifying the data accumulated via .NET Reflection
  • Transaction Support - XPO provides transactions in the same manner as ADO.NET. You can easily Begin the transaction, then Commit or Rollback with the appropriate Session methods
  • 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 the Guid and Int32 data types
  • Optimistic Locking - Optimistic concurrency is supported for updates ("First in wins" rule)
  • Explicit declaration of a string field of unlimited size - Unlimited Text/Memo field size can be defined by specifying the Size attribute with the Unlimited constant
  • Remoting Support - All base XPO classes are derived from MarshalByRefObject to provide remote object access using the .NET Remoting infrastructure
  • Support for Existing Database Schema
  • Persistent Class Template - Provides the easiest and fastest way to add persistent classes to your project
  • XtraGrid Integration - The new xpoXtraDataAdapter component allows you to use the advanced features provided by the XtraGrid for displaying, sorting and grouping data retrieved by XPCollection
  • Advanced Criteria System - Criteria operators allow you to build complex criteria representing the logical expressions used to filter XPCollection contents
  • Session, Collection Components - These components allow you to set the DataSource and bind them to any visual component such as grid, edit and other control 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 OnSchemeInit event of the Session object you can enforce any custom database modifications
  • Database Integrity Validation - XPO.NET keeps the underlayed database up-to-date and integrated automatically, unless you choose to disable this functionality
  • Advanced Event System - In order to perform custom actions during object and session manipulations, you can employ the events raised when session / transaction state is changed or the underlying database metadata is about to be modified