0

我正在使用 MVC4 和 VS_2012。我想删除一个用户我的管理面板。我通常这样删除;

用户上下文 dcUser = new UsersContext();

if (userId.HasValue)
 {
     var userToDelete = (from u in dcUser.UserProfiles
                         where u.UserId == userId
                         select u).Single();

  //   dcUser.UserProfiles.DeleteOnSubmit(userToDelete);
 //   dcUser.SubmitChanges();
  }

但是这种情况下我无法访问 DeleteOnSubmit 和 SubmitChanges。有什么办法可以删除用户?

4

2 回答 2

0

试试这样:

dcUser.Entry<string>(userToDelete).State = System.Data.EntityState.Deleted;
于 2012-10-19T11:58:34.600 回答
0

你可以试试这个:

[Authorize(Roles = "Admin")]
[HttpPost]
public ActionResult DeleteUser(int id)
{
    var tmpuser = "";
    var ctx = new UsersContext();
    using (ctx)
    {
        var firstOrDefault   = ctx.UserProfiles.FirstOrDefault(us => us.UserId==id);
        if (firstOrDefault != null)
            tmpuser = firstOrDefault.UserName;
    }

    string[] allRoles = Roles.GetRolesForUser(tmpuser);
    Roles.RemoveUserFromRoles(tmpuser,allRoles);

    ((SimpleMembershipProvider)Membership.Provider).DeleteAccount(tmpuser);
    Membership.Provider.DeleteUser(tmpuser, true);
    Membership.DeleteUser(tmpuser, true);

    ctx = new UsersContext();

    return View(ctx.UserProfiles.OrderBy(user => user.UserName).ToList());
}
于 2013-06-13T07:06:16.903 回答