簡體   English   中英

ASP NET CORE 無法使用現有的 DbContext 來搭建 Identity - 如何在搭建時指定選項?

[英]ASP NET CORE Can't scaffold Identity using existing DbContext - how do I specify options when scaffolding?

重建步驟:

1) 創建新的asp net core mvc 項目。

2)創建一個新模型並使用讀/寫搭建一個API控制器

3)刪除bootstrap.css

4) 將創建的 DbContext 更改為繼承自 IdentityDbContext

5)嘗試建立一個身份

6)獲取錯誤


我從一個數據對象中搭建了一組對象,它給了我:

namespace WebApplication1.Models
{
    public class AllTheOtherStuffDbContext : DbContext
    {
        public AllTheOtherStuffDbContext() : base("name=AllTheOtherStuffDbContext")
        { }

        public System.Data.Entity.DbSet<WebApplication1.Models.Movie> Movies { get; set; }

    }
} 

現在我正在嘗試為我的數據庫DbContext一個身份集,但使用相同的上下文,所以我根據我發現的一些不同答案將DbContext更改為IdentityDbContext<IdentityUser> ,但是在DbContext和生成代碼時,我收到以下消息:

Cannot use an existing DbContext with the '--useDefaultUI' option.

了一下UseDefaultUI ...

在一個單獨的項目中,我通過腳手架身份看到我將此行添加到我的 startup.cs 中:

services.AddDefaultIdentity<IdentityUser>() .AddDefaultUI(UIFramework.Bootstrap4) .AddEntityFrameworkStores<ApplicationDbContext>();

我認為現在的問題是因為我在當前項目中擺脫了 Bootstrap(因為我討厭它)所以我想停止嘗試添加該DefaultUI行的腳手架 - 我如何在使用 Visual Studio 時做到這一點? 我可以指定命令行而不是使用菜單選項來添加腳手架嗎?

所以你已經使用了IdentityDbContext<IdentityUser>

public class AllTheOtherStuffDbContext : IdentityDbContext<IdentityUser>
{
     ...
}

您必須在此處使用此 DbContext: .AddEntityFrameworkStores<AllTheOtherStuffDbContext>();

要停止 ui 腳手架,請使用services.AddIdentity<TUser, TRole>()

PS 我也不喜歡引導程序模板。

使用默認標識創建項目,然后使用 Scaffold Identity。 這應該可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM