1

我有一个循环试图添加两个参与者实体及其集合

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()。这是插入两个参与者后参与者表在数据库中的样子。

=======================

参与者 ID | 姓名 |

1 ....................|汤米。|

2…………|弗兰克……|

4

0 回答 0