[英]How to insert a model in ef 6 with a many to many relationship
我问的问题与以下内容密切相关:
这个问题和我的问题之间最大的区别是,从Web api的角度来看,我将如何做到这一点。
从本质上讲,我想按照以下方式向MVC Web API 2端点发布json字符串:
{"Name":"Job3","Candidate":[1,2,3]}
到这样的终点:
POST: api/Jobs
并确认我要创建作业3,该作业与候选人1、2和3具有关联。
编辑:到目前为止给出的答案,绝对可以让我继续,但是...
如果可能的话,我想使用在使用Visual Studio时创建的脚手架方法。 例如
public Job Post(Job JobFromBody){
....
}
*注意:我实际上并不关心json的外观,如果还有更好的方法,请告诉我。
像这样:
public HttpResponseMessage Post(JobRequest request)
{
// ... model validation, other checks
// create job object
var job = new Job { Name = request.Name, Candidates = new Collection<Candidate>() };
// associate existing candidates to the job
foreach(var candidate in request.Candidates) {
var c = new Candidate { Id = candidate.Id};
context.Candidates.Attach(c); // without this, EF will try to create new Candidate
job.Candidates.Add(c); // associate the existing candidate with the job
}
context.Jobs.Add(job); // add the job
context.SaveChanges(); // save
// ... handle errors, return status codes etc.
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.