MSDN > 論壇首頁 > Visual Studio Extensibility > Deleting a reference from a CompartmentShape?
發問發問
 

已答覆Deleting a reference from a CompartmentShape?

  • Thursday, 21 August, 2008 9:55SmorgoOfFJS 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     

    It's day 2 of my effort to create a DSL. Day 1 went pretty well, just a few issues to deal with.

    I could do with some help with this one, though.

    I have

    ClassA references ClassB (a many-to-many relationship)

    ClassA is represented by a Compartment Shape, ClassAShape

    ClassB is represented as a Compartment Item in ClassAShape, but also has it's own ClassBShape directly on the model surface

    I establish the relationship by connecting ClassAShape to ClassBShape. I don't have (or want) a physical connector on the design surface between the two shapes. Instead, my ClassB appears in the relevant compartment in ClassAShape.

    So far, so good.

    Now, if I right-click and Delete the Compartment Item for ClassB from the ClassAShape, it deletes ClassB from the model completely. What I want, is for it to simply remove the relationship.

    Any advice?

    Regards,
    Steve

    •  

解答

  • Saturday, 30 August, 2008 4:37Jean-Marc PrieurMSFT, 版主使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     已答覆
    Steve.

    I wrote a post on my blog explaining why the behavior is this one (thanks for letting me discover it), and how you can solve your problem specifying your intent (compartment items represent links, and not ClassBs)
    Jean-Marc

所有回覆

  • Friday, 29 August, 2008 11:56Jean-Marc PrieurMSFT, 版主使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     
    Hello Steve

    I have reproduced your problem, and will try to help you. Im currently working on it. Indeed, I'm wondering if we should remove the related ClassB since, after all, this is a reference relationship and not an embedding. I'll try to provide you with an answer quickly.


    I have, however a question (by curiosity). How do you add a classB compartment item classA representing Compartment shape, if you do not have connectors between your Compartment ClassAShape and your ClassBShapes?
    Jean-Marc
  • Saturday, 30 August, 2008 4:37Jean-Marc PrieurMSFT, 版主使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     已答覆
    Steve.

    I wrote a post on my blog explaining why the behavior is this one (thanks for letting me discover it), and how you can solve your problem specifying your intent (compartment items represent links, and not ClassBs)
    Jean-Marc