Few questions before buy

Thread is closed for posting
2 posts, 0 answers
  1. Marek Konecki
    Marek Konecki avatar
    1 posts
    Member since:
    Aug 2009

    Posted 26 Aug 2009 Link to this post


    I'm searching for best ORM for my project. I'd like to ask few questions about features of Open Access (OA) ORM.

    1. Does OA support create/update database schema ? 
        - our project will support many databases (same schema different data) created by users on demand. ORM should support this option.
        - when user will install new software version with modified database schema, ORM should support updateing existing databases.

    2. Does OA support custom data types, especially composite data types? Example:
    //our custom composite type
    struct Quantity {
      public double Value {get;set;} //in database this maps to field XXXValue (type float) where XXX is name of the property
      public string ValueName {get; set;} //in database this maps to field XXXValueName (type varchar(50) - of course "50" is an example

    //property in some object
    class SomeObject {
      public Quantity OrderValue {get;set;} //in database this property maps to fields: OrderValueValue (type float) and OrderValueValueName (type varchar(50))
      public Quantity Stock {get;set;}  //in database this maps to fields: StockValue (type float) and StockValueName (type varchar(50)) 

    3. Does OA support interface data types? Example: we have few different objects that implement ISomeInterface. These objects are stored in different tables each. Now, we have some other object that have property of type ISomeInterface. Something like this:
    class ObjectA: ISomeInterface {} // mapped to table ObjectATable
    class ObjectB: ISomeInterface {} // mapped to table ObjectBTable
    ... etc

    class SomeObject {
    public ISomeInterface SomeInterface {get; set;} // mapped to something like SomeInterfaceObjectType or SomeInterfaceTableName field and SomeInterfaceID. Of course all objects should have ID fields of same type ID
  2. Dimitar Kapitanov
    Dimitar Kapitanov avatar
    632 posts

    Posted 01 Sep 2009 Link to this post

    Hi Marek Konecki,
    I put some short answers to your qestions to pinpoint where you need more information:

    1. We have a VSchema tool that allows database schema operations - we use it for our forward-mapping capabilities. In design time if we have sufficient information about the schema we are able to recreate it from our model in the database.
    Additional to that we have generic data access API that allows runtime schema modifications. Currently we have field/column modification in place (CUD operations). And with our next release we will have also class/table CUD capabilities.

    Schema migration is not supported out of the box currently.

    2. We have support for structures, you have to find whether it works for you. The structure fields are flattened down to the same table where the parent class resides. Because structures are valuye types we cannot detect automatically updates there (because they are done on the copy) and that requires additional operation, like assigning the structure back to the property it is exposed from.

    3. We support polymorphic queries (I think that implementing an interface is similar). I am absolutely sure about OQL, I will have to double-check for LINQ though.

    Please do not hesitate to ask additional questions that you might have.

    Best wishes,
    Dimitar Kapitanov
    the Telerik team

    Instantly find answers to your questions on the new Telerik Support Portal.
    Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
Back to Top