views:

77

answers:

1

I'm getting the following warning in VisualStudio:

"DomainClass ManagedField is not abstract, and is neither a root of the model nor embedded within it."

The warning is correct my class isn't abstract (and shouldn't be) and it shouldn't be the root of the model. So it comes down to the last part "nor embedded within it" my class ManagedField inherits from another class which is in an embedding relationship.

So why do I still get this warning and how do I get rid of it?

+1  A: 

Hello,

That is because all the Classes must be embedded somehow with your Root Class (The Main Class). You can see and set your Root Class under "DSL Explorer -> Editor -> Root Class".

This error occurs to you because you have a shape representation to "ManagedField " class. Every shape must be embedded in the diagram either directly from the Root Class or some child embedded class.

This means that you must at least create an embedding relationship from your Root Class to "ManagedField".

This is enforced by DSL-Tools because every shape instance must be Parented in the Diagram class.

Finally I would advise you to read "Domain-Specific Development with Visual Studio DSL Tools" by Steve Cook, Gareth Jones, Stuart Kent and Alan Cameron Wills.

This should be your entry point and it covers every aspect about the technology including some advanced topics

Luis Filipe