![](/img/trans.png)
[英]Scaffolding existing databases in ASP.NET Core (Scaffold-DbContext)
[英]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.