保存或接受更改失败,因为多个类型的实体具有相同的主键值

本文关键字:实体 类型 键值 因为 失败 保存 | 更新日期: 2023-09-27 18:16:50

我在asp.net mvc 5中使用存储库模式,我从表中选择数据,然后在该数据中添加一个具有值的实体,我想在数据库中添加实体值设置此数据,但保存或接受更改失败,因为不止一个类型为'BlogPost.DAL.Entity.BlogPost的实体。博客'有相同的主键值错误发生,但在数据库中插入这一行,我需要做什么来避免这个错误。

model = await _IBlogSerices.BlogGetByID(Id);
Blog data = _db.Blog.Find(Id);
_db.Blog.Remove(data);
_db.SaveChanges();
model.IsPublish = true;
await _IBlogSerices.CreateBlog(model);
return View();

保存或接受更改失败,因为多个类型的实体具有相同的主键值

似乎没有问题,如果你的BlogGetByID(Id)函数像

public Task<Blog> BlogGetByID(int id){
  return _db.Blog.FirstOrDefaultAsync(p => p.Id ==id);
}