Interface doesn't propagate property name changing

Thread is closed for posting
2 posts, 0 answers
  1. Kay
    Kay avatar
    2 posts
    Member since:
    Aug 2013

    Posted 05 Sep 2013 Link to this post

    I created a model with some interfaces. I build some objects which inherit from these interfaces. Later i decided to change the name of a property in one interface. Now the project won't compile because it says that the inheriting objects don't implement the property (they implement it with the old name according to the *.generated.cs files). Deleting the *.generated.cs files, so that they are newly created, doesn't work.

    There are a few other problems (but these are the ones for which i found alternatives or with whom i can live):

    • When using SQLite as Backend and an object with a property type Decimal ( i.e. "Columnname : Decimal") and then trying to edit the table wiht the column grid, i get constantly a MessageBox claiming an ArgumentException ( i believe it was an invalid column value). The problem is the window is constantly reappearing.
    • I am unable to rearrange/move the columns of the table or the properties in the visual editor or move one property from one object to another.
    • The Visual Editor doesn't support an undo (especially painful if you decide to set the table mapping in the Mapping Details Editor to none and you don't know the consequences of agreeing to the dialog -> there should be a better warning that the table AND the model will be deleted and in case someone wants to keep his/her model, he/she should use the "unmap" option).
    • In the CRUD tutorial section, the mentioning of the necessary namespaces in the code snippets at least at the top of the page would be nice.
    • Why is it impossible to associate an object with an interface? Assuming i have a primitve type (struct-like) and i don't want the properties of this type to be separate properties of the associated interface, but rather to access them as an object (classic encapsulation). This seems to be not possible, at least not with the Visual Editor.

    Overall the visual approach seems the be (at least for me) an approach with lots of difficult experiences. I am using Visual Studio 2010  Professional.
  2. Doroteya
    Doroteya avatar
    498 posts

    Posted 10 Sep 2013 Link to this post

    Hi Kay,

    Excuse us for the inconvenience caused and thank you for your feedback.

    Indeed, the issue you describe with the automatic rename of properties that come from an interface is known limitation on our side. You can workaround by re-adding the inheritance arrow. The step-by-step process is as follows:
    1. Open the .rlinq file in Visual Designer
    2. Rename the property in the interface
    3. Remove the inheritance arrow and re-add it again from Toolbox
    4. Select a class that inherits from the interface, right-click on it and click Unmap from Table...
    5. Select the same class, right-click on it again and click Map to Table...
    6. Repeat steps 4 and 5 for each domain class that inherits from the interface
    7. Save the domain model
    8. At that point if you (re)build the project that holds the domain model, the build error will disappear
    9. Optionally, if your model was previously migrated to the database, you can run the Update Database from Model wizard and persist the changed name.

    Regarding the rest of the issues, please kindly find the relevant details as follows:

    1. When using SQLite as Backend and an object with a property type Decimal...
    Generally, Telerik OpenAccess ORM supports the usage of the Decimal type with SQLite and there is no such an issue logged on our side. However, based on your report we would like to continue to investigate and any information about the scenario and the set up that reproduces the error would be highly appreciated.

    2. I am unable to rearrange/move the columns of the table...
    This is a known issue on our side but since implementing it will cause fundamental, and breaking for the community, changes, currently fixing it is not on our roadmap. 

    3. The Visual Editor doesn't support an undo...
    The Undo feature was disabled in Visual Designer due to the complexity of restoring the diagram state.

    - In the CRUD tutorial section...
    We constantly update our documentation and would like to take your suggestions into account. If possible, could you provide us with a list of the articles that you experience difficulties with?

    - Why is it impossible to associate an object with an interface?...
    Currently, due to the low usage of interfaces through Visual Designer their support is limited. Therefore we appreciate any suggestions for further extension. On our Ideas and Feedback portal you can post a feature request and if it is gathers the approval of the community we will consider placing it on our roadmap.

    Again excuse us for the negative experience with Visual Designer and I assure you that it is a tool under constant improvement.

    If you have additional questions or need assistance, 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.

Back to Top