我有一个循环试图添加两个参与者实体及其集合
foreach (var dto in participants)
{
var participant = new Participant(dto.FirstName, dto.LastName, dto.Email);
this.myRepository.Set<Participant>().Add(participant);
participant.DemographicItems = demographicItems;
}
this.myRepository.SaveChanges();
DemographicItems 是一个集合。如果我们在此循环中添加两个参与者,则 DemographicItems 表到数据库的结果将是:
===========================================
人口统计项目 ID | 姓名 | 参与者 ID |
1..........................| 年龄.....| 1 ....................|
2..........................| 面积... | 1 ....................|
3..........................| 年龄..... | 1..................|
4..........................| 面积... | 1 ....................|
如您所见,最后一列仅包含第一个插入的参与者的 id,第二个外部 id 值丢失,正确的值应该是 1,1,2,2,我想要的是避免 SaveChanges() 进入循环每一项。我想为所有参与者及其 DemographicItem 集合执行一个 SaveChanges()。这是插入两个参与者后参与者表在数据库中的样子。
=======================