我有一个用户对象,当使用 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
PS我添加了删除Roles和ActionHistories的代码来测试问题是否与存在的相关实体有关,但它并没有解决问题。