我在数据库中的实体框架使用AddRange
添加多个实体:批量插入
foreach (string tagNumber in notPresent)
{
element = new TagMaster { Name = Guid.NewGuid().ToString(), IsActive = true };
element.TagCollections.Add(new TagCollection { TagNumber = tagNumber });
newTagMasters.Add(element);
}
dbContext.TagMasters.AddRange(newTagMasters);
dbContext.SaveChanges();
我所期待的是,通过使用AddRange
方法添加上下文中的完整集合,将有是一个将被发送到数据库的单个查询。但令我惊讶的是,我看到要插入每个记录的多个插入语句。
任何见解?
你期望看到什么SQL语句? – Heinzi
我期待所有的插入语句将在一个批次中发送,而不是一个一个地发送。 –
'AddRange'只是循环和执行多个'Add'语句的快捷方式。 – DavidG