0

When executing:

ALTER TABLE [dbo].[webpages_UsersInRoles] DROP CONSTRAINT [FK_dbo.webpages_UsersInRoles_dbo.webpages_Membership_UserId]

I receive an error:

'FK_dbo.webpages_UsersInRoles_dbo.webpages_Membership_UserId' is not a constraint.
Could not drop constraint. See previous errors.

This is my webpages_UsersInRoles table:

CREATE TABLE [dbo].[webpages_UsersInRoles] (
    [UserId] INT NOT NULL,
    [RoleId] INT NOT NULL,
    PRIMARY KEY CLUSTERED ([UserId] ASC, [RoleId] ASC),
    CONSTRAINT [fk_UserId] FOREIGN KEY ([UserId]) REFERENCES [dbo].[UserProfile] ([UserId]),
    CONSTRAINT [fk_RoleId] FOREIGN KEY ([RoleId]) REFERENCES [dbo].[webpages_Roles] ([RoleId])
);

I tried doing following this answer, but it didn't work for me.

Community
  • 1
  • 1
Broken
  • 109
  • 2
  • 10
  • 1
    The error seems fairly self explanatory. `[FK_dbo.webpages_UsersInRoles_dbo.webpages_Membership_UserId]` is not a constraint, the two constraints in the table are `fk_UserUd` and `fk_RoleId`. What constraint are you trying to drop? – GarethD Mar 03 '13 at 17:49
  • Im trying to recreate the UsersInRoles with this [Table("webpages_UsersInRoles")] public class UsersInRole { [Key, Column(Order = 0)] public int RoleId { get; set; } [Key, Column(Order = 1)] public int UserId { get; set; } [Column("RoleId"), InverseProperty("UsersInRoles")] public Role Roles { get; set; } [Column("UserId"), InverseProperty("UsersInRoles")] public Membership Members { get; set; } } I should just have run, but it wont because of the constraint. – Broken Mar 04 '13 at 07:42

1 Answers1

0

you can try this:

[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);

    //Roles.RemoveUserFromRole(tmpuser, "RoleName");

    ((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());
}
TotPeRo
  • 6,561
  • 4
  • 47
  • 60