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
Post a Comment