Data Management across Multiple Database Engines and ORM Tools
The Traditional Approach
You have to be both an experienced DBA and programmer to create a solid database schema and provide fast, stable access to data across different data engines.
In many instances, managing data using raw SQL or ADO.NET can result in a large collection of stored procedures that are difficult to understand and dangerous to modify. You must have extensive knowledge to design a database schema, mapping it from a business model to the database tables for CRUD, providing access to different database engines, database versioning, stability, performance, reusability, etc. Most ORM that purport to address these issues are rarely silver bullets. They suffer from a lack of support for different database engines, create difficulties in reusability and countless other issues.
The XAF Advantage
Built upon the DevExpress ORM (XPO), XAF provides fast and stable access to data for 14 popular database engines via an object oriented API. The built-in support for Entity Framework and the ability to use third party ORMs provides you absolute flexibility.
XAF ships with a clean and simple object-oriented API to help you manage and query data. It is powered by the Microsoft ADO.NET Entity Framework or DevExpress XPO ORM libraries which have been designed so you never have to concern yourself with the creation of tables, fields, relationships and other low level tasks (check Object-relational mapping (ORM) to learn more on other benefits of this approach to working with data). Your application can connect to 14 different database engines by changing a simple connection string.
When building a business application, you will ultimately have to deal with data. If you are using XAF, you don't actually have to create a database in a DBMS, customize tables, fields, etc. And, you won't need to use low-level ADO.NET constructs to access your data. XAF is all about object-based data handling. Instead of direct interaction with a database, you have a clean, simple, object-oriented API to work with data. To provide mapping of objects into database tables, XAF can use either Entity Framework or eXpress Persistent Objects (XPO).
Business Class Library
There are countless common objects that tend to be used across different business applications. Many of these are so basic that they are included in the standard distribution of XAF along with an implementation structure that can be customized or derived as necessary. With XAF, you can choose the things you find useful and ignore those that you do not require.