Entity framework 使用批量插入插入子实体时出现问题

Entity framework 使用批量插入插入子实体时出现问题,entity-framework,entity-framework-6,bulkinsert,Entity Framework,Entity Framework 6,Bulkinsert,我正在尝试使用批量插入来插入实体及其子实体的列表。下面是代码片段: ctx.BulkInsert<Entity>(list.Select(x => new Entity { Value = x.Value, IsActive = x.IsActive, SubEntities = new Collectio

我正在尝试使用批量插入来插入实体及其子实体的列表。下面是代码片段:

           ctx.BulkInsert<Entity>(list.Select(x => new Entity
                {
                    Value = x.Value,
                    IsActive = x.IsActive,
                    SubEntities = new Collection<SubEntity>(x.SubEntities.Select(y => new SubEntity {Key = y.Key, Value = y.Value}).ToList())
            }));
ctx.BulkInsert(list.Select(x=>newentity
{
值=x.值,
IsActive=x.IsActive,
子实体=新集合(x.SubEntities.Select(y=>newsubentity{Key=y.Key,Value=y.Value}).ToList())
}));
还有一个选项可以将实体或实体Id包含在子实体中,但是由于它已经在实体本身的创建中,所以不需要这样做,对吗?但是,它不会用实体本身创建任何子实体。你知道我做错了什么吗


提前谢谢

据我所知,BulkInsert此时不支持使用它插入子项。您可能想考虑使用合并表和原始SQL命令插入,而不是尝试用实体框架来实现这一点。虽然我是EF的大力支持者,但像这样的任务就像试图在螺丝上使用锤子——它会起作用,但是这项任务有什么好处呢?您应该通过
ctx.AddRange
插入主要项目,然后使用
BulkInsert
为其子项目分配
parentId
sI可以通过Add Range插入项目,谢谢各位:)