使用实体框架6插入已断开的相关实体
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用实体框架6插入已断开的相关实体相关的知识,希望对你有一定的参考价值。
我有一些XML文件的数据,我已经转置,我可以映射到我的实体。所以现在我想将它们全部保存到数据库中。
我正在阅读SO Can Entity Framework add many related entities with single SaveChanges()?
接受的答案没有太多信息,但这句话:
'如果您使用对象引用新创建的对象而不是ID,则不需要每次都保存更改:'
我的实体派生自数据集表,这些表都具有相关的Id列。
我猜测答案或多或少是相关实体是用这样的东西创建的:item.SubItem = new SubItem();
而不是item.SubId = SubItem.Id;
因此,我应该遍历我的数据表并将我的数据集表转换为实体,方法是从表中创建对象并将它们添加到上下文中。
所以对于dt ['Items']中的每一行,如果row有一个子项新的SubItem {除了Id之外的所有值}。
任何示例代码将不胜感激。
答案
因此,在努力解决问题之后,我发现如果我创建了一个实体的新对象并将值映射到它,除了ID列之外,我可以将该对象分配回父对象。
伪代码如下:
myobject = new myobject(){ param1 = oldobject.param1}
myentityParent.ChildTableEntity.Add(myobject);
以上是关于使用实体框架6插入已断开的相关实体的主要内容,如果未能解决你的问题,请参考以下文章