2つのテーブルからレコードを削除する必要があります(Asp.netUserテーブル - すべての登録の詳細が保持されます&アカウントテーブルのチェック - すべてのユーザーの詳細を保持します)。削除アクションメソッドでは、チェック処理のアカウントテーブルに対してのみ削除処理が許可されます。すべてのテーブルからレコードを削除するためにどのクエリ/コードを書くべきですか?複数のテーブルからユーザーレコードを削除するASP.Net mvc
public ActionResult Delete(int? id)
{
if (id == null)
return HttpNotFound();
var del = db.checkAccounuts.Find(id);
if (del == null)
return HttpNotFound();
db.checkAccounuts.Remove(del);
db.SaveChanges();
return RedirectToAction("ViewAccounts");
}
レコード
CREATE TABLE [dbo].[CheckingAccount] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[AccountNumber] VARCHAR (10) NOT NULL,
[FirstName] NVARCHAR (MAX) NOT NULL,
[LastName] NVARCHAR (MAX) NOT NULL,
[Balance] DECIMAL (18, 2) NOT NULL,
[AppUserId] NVARCHAR (MAX) NOT NULL,
[User_Id] NVARCHAR (128) NULL,
CONSTRAINT [PK_dbo.CheckingAccounts] PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [FK_dbo.CheckingAccounts_dbo.AspNetUsers_User_Id] FOREIGN KEY ([User_Id]) REFERENCES [dbo].[AspNetUsers] ([Id])
);
この表から削除することができます。しかし、ユーザーの詳細は、この表に残る!アクションメソッドを削除します。
CREATE TABLE [dbo].[AspNetUsers] (
[Id] NVARCHAR (128) NOT NULL,
[Email] NVARCHAR (256) NULL,
[EmailConfirmed] BIT NOT NULL,
[PasswordHash] NVARCHAR (MAX) NULL,
[SecurityStamp] NVARCHAR (MAX) NULL,
[PhoneNumber] NVARCHAR (MAX) NULL,
[PhoneNumberConfirmed] BIT NOT NULL,
[TwoFactorEnabled] BIT NOT NULL,
[LockoutEndDateUtc] DATETIME NULL,
[LockoutEnabled] BIT NOT NULL,
[AccessFailedCount] INT NOT NULL,
[UserName] NVARCHAR (256) NOT NULL,
[Pin] NVARCHAR (MAX) NULL,
CONSTRAINT [PK_dbo.AspNetUsers] PRIMARY KEY CLUSTERED ([Id] ASC)
);
GO
CREATE UNIQUE NONCLUSTERED INDEX [UserNameIndex]
ON [dbo].[AspNetUsers]([UserName] ASC);
助けてください。