【发布时间】:2016-12-18 06:09:35
【问题描述】:
我需要从两个表中删除一条记录(Asp.netUser 表 - 保存所有注册详细信息和检查帐户表 - 保存所有用户详细信息)。删除操作方法只允许在检查帐户表上进行删除过程。我应该写什么查询/代码来从所有表中删除一条记录?
删除动作方法
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);
任何帮助将不胜感激!
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-4