我有一个使用Entity Framework发布到数据库的信息页面。一切都很好但是当我最初输入一个记录并点击两次保存时,记录将从数据库中删除(它实际上是在第一次保存点击后保存)。此问题不反映修改和新条目发生。
这是我的代码
public async Task<IHttpActionResult> Put(int id, [FromBody]CandidateLanding landing)
{
var result = await candidateContext.CandidateLanding
.Where(x => x.UserID == id)
.AsNoTracking()
.SingleOrDefaultAsync();
if (result != null)
{
if (landing.ID == 0)
{
landing.ID = result.ID;
}
}
if (ModelState.IsValid)
{
if (landing.ID > 0)
{
candidateContext.Entry(landing).State = EntityState.Modified;
}
else
{
landing.UserID = id;
candidateContext.CandidateLanding.Add(landing);
}
await candidateContext.SaveChangesAsync();
}
return CreatedAtRoute("DefaultApi", new { id = landing.ID }, landing);
}