c# - Exception thrown: The relationship between the two objects cannot be defined because they are attached to different ObjectContext objects -


my code:

strategyrepository strategyrepository = new strategyrepository(); strategylookup strategy = strategyrepository.getstrategy(int.parse(hidselectedstrategyid.value.tostring()));          //strategicdirectionrepository strategicdirectionrepository = new strategicdirectionrepository();         strategicdirectionlookup strategicdirection = strategyrepository.getstrategicdirection(cb_strategydirectionsedit.value.tostring());         if (strategicdirection == null) {             strategicdirection = new strategicdirectionlookup() {                  caption = cb_strategydirectionsedit.value.tostring(),                 sequenceno = 100             };             //strategyrepository.addstrategicdirection(strategicdirection);         }          //strategicintentrepository strategicintentrepository = new strategicintentrepository();         strategicintentlookup strategicintent = strategyrepository.getstrategicintent(cb_strategyintentsedit.value.tostring());         if (strategicintent == null) {             strategicintent = new strategicintentlookup() {                 caption = cb_strategyintentsedit.value.tostring(),                 sequenceno = 100             };             //strategyrepository.addstrategicintent(strategicintent);         }          strategy.caption = txtstrategyedit.value.tostring();         if (!strategicdirection.strategylookups.select(o=>o.sid).contains(strategy.sid))         {             strategicdirection.strategylookups.add(strategy);         }          if (!strategicintent.strategicdirectionlookups.select(o=>o.sdid).contains(strategy.strategicdirectionlookup.sdid))         {              strategicintent.strategicdirectionlookups.add(strategy.strategicdirectionlookup);         }         strategyrepository.savechanges(); 

the exception prompt when in line : strategicintent.strategicdirectionlookups.add(strategy.strategicdirectionlookup); how fix code avoid exception? lot!

you have instantiated object context load object , instantiated second 1 saving - can't this, need use same object context both.

without code repository hard see how doing this, above note should fix (probably class level variable hold context, instantiated in class constructor).


Comments