Thank you for contacting us. I reviewed the provided screenshot and based on it I would suggest to you the following resolution for the errors and for implementation of the required scenario:
In order to create a vertical inheritance hierarchy in Telerik OpenAccess ORM, you need to set an identity property only for the base class. Additionally, once the hierarchy is set the base class should be the only one with default Inheritance Strategy (the complete guide through the vertical iheritance setup process is available here
In other words, in order to resolve the errors you are experiencing, I would suggest to you to nominate either Thing
for a base class of the hierarchy and to apply the following settings in Visual Designer
1. Set the inheritance strategy of the base class to default (as in step 15
from the suggested guide).
2. Remove the identity property of the child class (and its corresponding column, if the class is already explicitly mapped to a table. You can easily achieve that through Table Editor
3. Save the .rlinq file
Regarding the GUID identity, you could implement it with the help of our GUID Identity Mechanism (the workflow is described here
). This identity mechanism allows OpenAccess ORM to generate the GUID value for you, so that you do not have to specify it in your code.
Additionally, please kindly find attached to this message a sample project that demonstrates the implementation of a simple vertical hierarchy with GUID identity. In order to run it, all you need to do is modify the connection string in the .config file and migrate the domain model to the database.
If the suggested solution does not fit in your scenario or if you have additional questions, do not hesitate to get back to us..
OpenAccess ORM Q2 2013 brings you a more powerful code generation and a unique Bulk Operations support with LINQ syntax. Check out the list of new functionality and improvementsshipped with this release.