Entity framework DBcontext add child row -


as understand, add child row, can either do

parent.children.add(child);

or

child.parents= parent

then can mycontext.savechanges();

somehow second solution doesn't insert work @ all. here's code:

        countmaster countmaster = (from b in pmdatacontext.countmasters                                    b.reportdate == reportdate && b.department == dept                                    select b).singleordefault();            countdetail countdetail = new countdetail { categoryid = 1, statusid = 1 };          //countmaster.countdetails.add(countdetail);          countdetail.countmaster = countmaster;          pmdatacontext.savechanges(); 

when adding entity collection navigation property or setting reference navigation property of tracked entity ef add entity context in entitystate.added state. due objectstatemanager detecting changes made tracked entity.

if working other way around, is, starting untracked entity , setting/adding tracked entities reference/collection properties, objectstatemanager has no way of detecting changes make untracked entity. therefore need explicitly add entity context before savechanges().

countdetail.countmaster = countmaster; context.countdetails.add(countdetail); pmdatacontext.savechanges(); 

Comments

Popular posts from this blog

java - Jmockit String final length method mocking Issue -

asp.net - Razor Page Hosted on IIS 6 Fails Every Morning -

c++ - wxwidget compiling on windows command prompt -