实体框架:导入实体树
本文关键字:实体 导入 框架 | 更新日期: 2023-09-27 17:53:20
我有一个场景,我想将实体树序列化到XML文件,然后使用实体框架将该实体树恢复到另一个数据库。我很好奇,我应该如何去添加子实体?我是否应该简单地反序列化树,然后在父节点上调用context.AddToXXX(xxx)
?这会影响到所有的孩子吗?
编辑:如果树已经存在,但是序列化的数据不同,那么当前数据会发生什么?
如果您使用Context.DbSet.Add
方法,它将标记对象图中的所有实体为新的,并尝试在SaveChanges
时插入它们。
如果您使用Context.DbSet.Attach
方法,上下文将开始跟踪所有实体,但它会将它们全部标记为未修改,并且当您使用SaveChanges
时不会对它们做任何事情。
在这两种情况下,你都可以使用Context.Entry().State
在调用SaveChanges
之前显式地设置实体的状态。