实体框架使用集合保存多个实体

时间:2013-07-17 04:12:49

标签: entity-framework code-first

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

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表到数据库的结果将是:

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

DemographicItemId |名称| ParticipantId |

1 ............................ |年龄..... | 1 ................... |

2 ............................ |区域...... | 1 ................... |

3 ............................ |年龄..... | 1 .................. |

4 ............................ |区域...... | 1 ................... |

正如您所看到的,最后一列仅包含第一个插入参与者的ID,第二个外部id值缺失,正确的值应为1,1,2,2,我想要的是避免SaveChanges ()进入每个项目的循环我想为所有参与者及其DemographicItem馆藏执行一个单独的SaveChanges()。这是插入两个参与者后参与者表格在数据库中的样子。

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

ParticipantId |名称|

1 ................... |托米|

2 ................... |弗兰克... |

0 个答案:

没有答案