如何使用实体框架向外表添加多个对象
本文关键字:添加 对象 何使用 实体 框架 | 更新日期: 2023-09-27 18:14:15
我是实体框架的新手。我有两个名为Polls
和Candidates
的表,它们具有一对多关系。
我想在民意调查中添加多个候选人。
这是我的代码:
public bool InsertPolls(PollModel _polls)
{
polls = new Poll();
candidates = new candidate();
polls.Name = _polls.name;
polls.startDate = startDate;
polls.endDate = endDate;
polls.Type = _polls.pollType;
foreach (var candidatesID in _polls.candidateID)
{
candidates.Person_ID = candidatesID;
candidates.Poll = polls;
_dbContext.candidates.Add(candidates);
_dbContext.SaveChanges();
}
}
但是这会抛出一个异常
有谁能帮我一下吗?谢谢你!类型为'System '的异常。附加信息:属性'Person_ID'是对象的关键信息的一部分,不能修改。
将此问题放在for循环的第一行流动代码
candidates = new candidate();
还从代码顶部删除candidates = new candidate();。for循环 remove too
candidates.Poll = polls;
因为你在代码的顶部添加了
这是最终代码
public bool InsertPolls(PollModel _polls)
{
polls = new Poll();
polls.Name = _polls.name;
polls.startDate = startDate;
polls.endDate = endDate;
polls.Type = _polls.pollType;
_dbContext.Polls.Add(polls);
_dbContext.SaveChanges();
foreach (var candidatesID in _polls.candidateID)
{
candidates = new candidate();
candidates.Person_ID = candidatesID;
_dbContext.candidates.Add(candidates);
_dbContext.SaveChanges();
}
}