c# - Entity Framework won't save complex object -


i have following poco classes

public class addresstype  {  public guid addresstypeid; public string typename; }  public class address { ...  public virtual guid addresstypeid { get; set; } public virtual addresstype addresstype { get; set; } }  public class locale { public virtual icollection<address> addresses { get; set; } } 

with following in context create database

modelbuilder.entity<address>()             .hasrequired(p => p.addresstype)             .withmany()             .hasforeignkey( p => p.addresstypeid)             .willcascadeondelete( false );  modelbuilder.entity<addresstype>().haskey(p => p.addresstypeid);         modelbuilder.entity<addresstype>().property(p => p.addresstypeid)            .hasdatabasegeneratedoption(databasegeneratedoption.identity); modelbuilder.entity<addresstype>().property(p => p.typename)             .isrequired()             .hasmaxlength(32); 

now looks me. heres problem. can create locale add address this

...      locale locale = irepostory.locales.where( p => p.localeid == new guid("xxxx")).singleordefault();     address address = new address();     address.addresstypeid = "xxxxx";     address.addresstype = irepository.addresstypes.where( p => p.addresstypeid == "xxxx").singleordefault();     irepository.savelocale(locale);  works fine.   if attempt add additional address fails locale locale = irepostory.locales.where( p => p.localeid == new guid("xxxx")).singleordefault();     address address = new address();     address.addresstypeid = "xxxxx";     address.addresstype = irepository.addresstypes.where( p => p.addresstypeid == "xxxx").singleordefault(); locale.adresses.add(address);     irepository.savelocale(locale);  seems error entityvalidationerrors entityvalidationerrors.entry.entity.gettype().name addresstype entityvalidationerrors.entry.state added entityvalidateerror.validationerrors validationerror.property = typename 

why can't add additional addresses?
know error coming address added locale because created address , set it's locale_localeid directly in database , 2 sets of errors. why addresses added causing error?


Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -