This is a migrated thread and some comments may be shown as answers.

[Solved] Few questions before buy

1 Answer 56 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Marek Konecki
Top achievements
Rank 1
Marek Konecki asked on 26 Aug 2009, 04:08 PM
Hi,

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
}
   

1 Answer, 1 is accepted

Sort by
0
Dimitar Kapitanov
Telerik team
answered on 01 Sep 2009, 05:22 AM
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.
Tags
General Discussions
Asked by
Marek Konecki
Top achievements
Rank 1
Answers by
Dimitar Kapitanov
Telerik team
Share this question
or