Menu

BBA Data Objects issues

Help
2006-01-25
2013-03-08
  • Eidan Yoson

    Eidan Yoson - 2006-01-25

    Hi, I would like to know if BBA Data Objects supports the following features:

    Has mapping GUI (For DataBase to Objects, and Objects to Database)
    .NET ErrorProviderSupport? and DataBinding? Support for WindowsForms.NET

    Does not requires manual SQL building, but can easily accept SQL based queries.

    RDBMS support/independence, and the user can easily add support for other databases or persistent mechanisms (XML, Prevalence, etc).

    Integration with an MVC framework (like User Interface App Block) o Metaframework (SpringFramework in Java, for example) for both ASP.NET and WindowsForms (Why we need ObjectRelationalIntegrationWithModelViewController?)

    Supports relationships between objects (User can choose the names and types of the foreign keys)

    Mapping supports grouping (GROUP BY clause)

    Mapping supports aggregate functions (count(), avg(), etc.)

    Includes full support of lazy resolution of all queries

    Maintains single identities for objects returned from queries (aka "uniquing") (i.e., AddressFinder?.findById(1) == AddressFinder?.findById(1));

    Resolves Circular Identities (aka "uniquing") (i.e., "account == account.getCustomer().getAccount()")

    Generates Mapping as well as the Objects themselves, so you don't duplicate information in the .NET Objects and the related mapping information.

    Supports Composite Primary Keys (I don't like this, but sometimes is useful for legacy applications)

    Aggregate Mappings - Single field maps to multiple fields in database. http://martinfowler.com/eaaCatalog/embeddedValue.html

    Supports both many to many and one to many associations

    Supports collections of Strings, Integers, Dates, etc

    Supports inheritance / polymorphic queries

    Supports one to one associations

    Can fetch associated objects using SQL outer joins

    Support for optimistic locking / versioning

    Support for Unit of work / object level transactions

    Providing an ODMG compliant API and/or OCL and/or OPath

    Does NOT require "extra" database tables holding locks, metadata, etc.

    Supports multiservers (clustering) and simultaneous access by other applications without loss of transaction integrity

    ¿Requires code generation?

    ¿Requires RuntimeReflection??

    Query Caching - Built-in support (developer writes no code). The following two identical queries will hit the database only once. The second time cached results will be returned. Address address = AddressFinder?.selectByPrimaryKey(new Long(1)); assertTrue(address == AddressFinder?.selectByPrimaryKey(new Long(1)));

    Supports sequences and identity/autoincrement columns for primary key generation (Not using the incorrect SELECT MAX method) (The user can choose the name and type of the primary key field)

    Supports ternary associations

    Supports mapping of one class to multiple tables ( Sometimes legacy databases leave you no choice.)

    Supports mapping of multiple classes to one table

    Supports persistence of properties through private fields

    Supports persistence of properties through accessors (get/set methods or properties, and they can be private)

    Supports disconnected operations: Populate objects from database, disconnect, create/remove/modify objects (on client, another Process) and apply changes to database (much) later

    Support for ASP.NET... (It means it plays well with the request/response cycle, allows saving objects in the session, unsaved objects have temporary in memory primary keys that allow transaccions spanning multiple requests/responses without writing the transaction into the database, etc)

    Support for Remoting. Distributed Objects.

    Support for WebServices

    Support for information exchange with System.Data.DataSet?.

    In memory object filtering (Specifically ask for a complex filter on an ArrayList of Objects without hitting the database)

    Batch Update (Update lots of objects without object creation).

    Batch Delete (Delete lots of objects without object creation, for example this is very useful in Cascade Delete for ToMany? relationships).

    Saving Changes with one line of code (ObjectsEngine?.CommitAllChanges?()), does all the inserts, deletes and updates in the right order, without user intervention, and without violating Master/Detail relationships.

    Support for nullable types.

    Support for compile-time feedback and correction of queries (IntelliSense in VS.NET).

    Support for field validation constraints before inserting an object in to the ObjectContext?

    Support for custom business logic validation constraints befores saving an UnitOfWork

    Support for ObjectCursors?

    Multi datasource transparent querying.

    Multi datasource transparent querying and saving.

    Non transactional lazy loading of relationships

    thanks in advance

     
    • Riccardo Deponti

      Most of them.

      BBA Data Objects are no longer supported by the developers team.

      Bye

       

Log in to post a comment.

MongoDB Logo MongoDB