2014-03-25 229 views
1

我有我想要的序列化实体的树到一个XML文件,然后实体的那棵树恢复使用实体框架的另一个数据库中场景的导入树。我很好奇,我应该如何去增加孩子的实体?我应该简单地反序列化的树,然后调用父节点上context.AddToXXX(xxx)?那也会导入所有的孩子吗?实体框架:实体

编辑:如果树已经存在,但是序列化的数据是不同的,会发生什么,以目前的数据?

回答

1

如果使用Context.DbSet.Add方法,它会将对象图中的所有实体标记为新的,并在SaveChanges时尝试插入它们。

如果使用Context.DbSet.Attach方法,上下文将开始跟踪所有实体,但它会将它们全部标记为未修改,并且在SaveChanges时不会对它们执行任何操作。

无论哪种情况,您都可以在调用SaveChanges之前使用Context.Entry().State明确设置实体的状态。