Adding a sub collection of new object and my new object into the database with Entity framework -
the method simple , don't see missing...
public int saveevent(data.models.event evnt) { db.events.add(evnt); db.savechanges(); return evnt.eventid; } here object declaration:
public class event { public int eventid { get; set; } public string name { get; set; } public icollection<eventtag> eventtags { get; set; } } the evnt object contains property name eventtags contains 6 new elements. evnt inserted in database not eventtag... idea ? no error nothing. eventtag not added...
public class eventdbcontext : dbcontext { public dbset<event> events { get; set; } public dbset<eventtag> eventtags { get; set; } public dbset<tag> tags { get; set; } } here screenshot of value: 
if eventtags not being added database may need manually specify entitystate each tag.
public int saveevent(data.models.event evnt) { foreach(var tag in evnt.eventtags) { db.entry(tag).state = entitystate.added; } db.events.add(evnt); db.savechanges(); return evnt.eventid; } you might want update class definition , set eventtags property virtual.
public class event { public int eventid { get; set; } public string name { get; set; } public virtual icollection<eventtag> eventtags { get; set; } } in screenshot looks tags loading, not location property on tags. if that's case, make sure set location property virtual well.
Comments
Post a Comment