我正在研究一個有兩種解決方案的項目,第一個是桌面應用程序,管理員可以完成所有管理,他可以添加用戶,刪除它們等。 在用戶可以註冊的Web部件上,登錄等等我不能使asp身份使用我自己的數據庫,只要我改變連接字符串,我得到以下錯誤[無效的對象名'dbo.AspNetUsers'。]這意味着沒有這樣的表。
我認爲,asp.net身份將自動創建這些表。我需要手動執行嗎?手動編寫腳本並使asp.net身份使用它們會更好。這可能嗎 ?如何讓asp身份使用我的數據庫而不是自動創建的mdf數據庫?
1
A
回答
1
最後我用sql managment studio解決了這個問題。我用sqlms打開了我的AppData文件夾中的mdf文件,然後右鍵單擊新創建的數據庫,在任務上懸停並單擊生成腳本。我標記了所有的表格,並創建了一個腳本。然後我用我的數據庫運行該腳本,現在它完美運行。這裏是腳本:
USE [aspnet-HotelsWeb-20150427120248]
GO
/****** Object: Table [dbo].[__MigrationHistory] Script Date: 23.5.2015 19:47:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[__MigrationHistory](
[MigrationId] [nvarchar](150) NOT NULL,
[ContextKey] [nvarchar](300) NOT NULL,
[Model] [varbinary](max) NOT NULL,
[ProductVersion] [nvarchar](32) NOT NULL,
CONSTRAINT [PK_dbo.__MigrationHistory] PRIMARY KEY CLUSTERED
(
[MigrationId] ASC,
[ContextKey] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[AspNetRoles] Script Date: 23.5.2015 19:47:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[AspNetRoles](
[Id] [nvarchar](128) NOT NULL,
[Name] [nvarchar](256) NOT NULL,
CONSTRAINT [PK_dbo.AspNetRoles] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[AspNetUserClaims] Script Date: 23.5.2015 19:47:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[AspNetUserClaims](
[Id] [int] IDENTITY(1,1) NOT NULL,
[UserId] [nvarchar](128) NOT NULL,
[ClaimType] [nvarchar](max) NULL,
[ClaimValue] [nvarchar](max) NULL,
CONSTRAINT [PK_dbo.AspNetUserClaims] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/****** Object: Table [dbo].[AspNetUserLogins] Script Date: 23.5.2015 19:47:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[AspNetUserLogins](
[LoginProvider] [nvarchar](128) NOT NULL,
[ProviderKey] [nvarchar](128) NOT NULL,
[UserId] [nvarchar](128) NOT NULL,
CONSTRAINT [PK_dbo.AspNetUserLogins] PRIMARY KEY CLUSTERED
(
[LoginProvider] ASC,
[ProviderKey] ASC,
[UserId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[AspNetUserRoles] Script Date: 23.5.2015 19:47:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[AspNetUserRoles](
[UserId] [nvarchar](128) NOT NULL,
[RoleId] [nvarchar](128) NOT NULL,
CONSTRAINT [PK_dbo.AspNetUserRoles] PRIMARY KEY CLUSTERED
(
[UserId] ASC,
[RoleId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[AspNetUsers] Script Date: 23.5.2015 19:47:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
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,
CONSTRAINT [PK_dbo.AspNetUsers] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[AspNetUserClaims] WITH CHECK ADD CONSTRAINT [FK_dbo.AspNetUserClaims_dbo.AspNetUsers_UserId] FOREIGN KEY([UserId])
REFERENCES [dbo].[AspNetUsers] ([Id])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[AspNetUserClaims] CHECK CONSTRAINT [FK_dbo.AspNetUserClaims_dbo.AspNetUsers_UserId]
GO
ALTER TABLE [dbo].[AspNetUserLogins] WITH CHECK ADD CONSTRAINT [FK_dbo.AspNetUserLogins_dbo.AspNetUsers_UserId] FOREIGN KEY([UserId])
REFERENCES [dbo].[AspNetUsers] ([Id])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[AspNetUserLogins] CHECK CONSTRAINT [FK_dbo.AspNetUserLogins_dbo.AspNetUsers_UserId]
GO
ALTER TABLE [dbo].[AspNetUserRoles] WITH CHECK ADD CONSTRAINT [FK_dbo.AspNetUserRoles_dbo.AspNetRoles_RoleId] FOREIGN KEY([RoleId])
REFERENCES [dbo].[AspNetRoles] ([Id])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[AspNetUserRoles] CHECK CONSTRAINT [FK_dbo.AspNetUserRoles_dbo.AspNetRoles_RoleId]
GO
ALTER TABLE [dbo].[AspNetUserRoles] WITH CHECK ADD CONSTRAINT [FK_dbo.AspNetUserRoles_dbo.AspNetUsers_UserId] FOREIGN KEY([UserId])
REFERENCES [dbo].[AspNetUsers] ([Id])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[AspNetUserRoles] CHECK CONSTRAINT [FK_dbo.AspNetUserRoles_dbo.AspNetUsers_UserId]
GO
0
這聽起來對我來說就像你有兩個DbContext
s。如果你想讓Identity
爲你生成這些表格,你應該只是讓你的DbContext
繼承自IdentityDbContext
,你就會全部設置好。你可以檢查這個Stackoverflow問題如何Merge MyDbContext with IdentityDbContext。
您還需要添加遷移。
東西你應該知道的是,IdentityDbContext
不是黑魔法,它只是一個DbContext
有幾個predifined DbSet
是你可以檢出源here。
相關問題
- 1. 如何從我創建的.mdf數據庫進行備份
- 2. 從數據集創建數據庫(mdf)
- 3. 創建新數據庫或使用現有的ASP.NET身份數據庫?
- 4. 如何連接ASP.NET身份數據庫和我自己的數據庫?
- 5. postgres不讓我創建數據庫
- 6. 如何使用自己的數據庫和身份驗證創建新項目
- 7. 使用psql自動創建數據庫
- 8. 使用自定義數據庫而不是ASPNETDB的ASP.NET MVC身份驗證?
- 9. 如何使用PetaPoco庫自動創建數據庫模型?
- 10. 如何讓實體框架覆蓋現有的數據庫而不是創建新的數據庫?
- 11. ASP .NET | EF不創建數據庫
- 12. Asp.Net身份不會在使用自定義用戶時創建數據庫
- 13. 用於備份的mySql數據庫自動複製數據庫?
- 14. 如何讓用戶備份數據庫
- 15. 如何用新用戶而不是root創建數據庫?
- 16. 備份數據庫mdf&實體框架
- 17. 如何從.mdf數據庫創建的VS
- 18. 如何在數據庫中構建多個身份數據
- 19. 自動化數據庫表的創建
- 20. 如何打開SQLite3數據庫而不冒冒險創建新的數據庫?
- 21. ASP MVC博客數據庫沒有創造身份證號碼
- 22. ASP .net身份連接到自定義sql數據庫
- 23. SQLiteOpenHelper - 數據庫是如何創建的?
- 24. 當我從數據庫源創建表時自動在數據庫備份創建表
- 25. 如何使用winform創建和恢復數據庫的備份?
- 26. 如何讓Rails使用我的內存緩存而不是數據庫?
- 27. 如何在ASP.NET身份(WebForms)中使用我自己的數據庫
- 28. 爲什麼不能用mdf文件創建數據庫?
- 29. 如何使用數據庫中的數據創建此數組?
- 30. 使用備份文件而不影響我的數據庫