gpt4 book ai didi

c# - Entity Framework 5 Remove() 不从数据库中删除

转载 作者:可可西里 更新时间:2023-11-01 09:10:10 24 4
gpt4 key购买 nike

我有一个用户对象,当使用 DbContext 上的 Remove() 删除它时,它并没有从数据库中删除。奇怪的是,我检索用户的查询不再返回它。

此代码在我的应用程序中使用,并且可以毫无问题地用于其他实体。

我真的很感激关于这可能是什么的建议,因为我很困惑!

#region Delete
public virtual void Delete(User entity)
{
var user = _context.Users.FirstOrDefault(u => u.UserId == entity.UserId);
if (user != null)
{
user.Roles.Clear();
var actionHistories = _context.ActionHistories.Where(u => u.User.UserId == user.UserId);
foreach (var actionHistory in actionHistories)
{
_context.ActionHistories.Remove(actionHistory);
}
_context.Users.Remove(user);

_context.SaveChanges();
}
}
#endregion

P.S 删除Roles和ActionHistories的代码是我添加的,目的是测试问题是否与存在的相关实体有关,但并没有解决问题。

最佳答案

尝试添加:

_context.Entry(user).State = EntityState.Modified;

之前

_context.SaveChanges();

关于c# - Entity Framework 5 Remove() 不从数据库中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18357819/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com