Я пытаюсь использовать IdentityServer4 с ASP.NET Core Identity и EF Core в качестве хранилища настроек и операций.
Я следовал документации по настройке, но по какой-то причине, когда я запускаю своймиграции, я получаю только таблицы IdentityServer4, а не таблицы ASP.NET Core Identity.
Мой проект с открытым исходным кодом, так что вы можете посмотреть весь код .Я подозреваю, что это как-то связано с посевом, но я не уверен, что именно.
Вот как происходит посев в моем Program.cs
( Github link ):
public static void Main(string[] args)
{
bool seedIsRequested = args.Any(x => x == "/seed");
if (seedIsRequested)
{
args = args
.Except(new string[] { "/seed" })
.ToArray();
}
IWebHost host = CreateWebHostBuilder(args).Build();
if (seedIsRequested)
{
IConfiguration config = host
.Services
.GetRequiredService<IConfiguration>();
DataSeeder dataSeeder = host
.Services
.GetRequiredService<DataSeeder>();
Policy
.Handle<SocketException>()
.Retry(5, onRetry: (exception, retryCount) =>
{
// do something
dataSeeder.EnsureDataIsSeeded();
});
}
host.Run();
}
Вот ссылка GitHub на DataSeeder.cs
.Поэтому, когда я запускаю свое приложение, я предоставляю "/seed"
аргумент, который должен заполнить таблицу asp_net_users
в ASP.NET Core Identity.
Но тогда у меня также есть другойСеялка называется InitializeDatabase()
в Startup.cs
( Github ссылка ).Оба сеялки создаются в соответствии с документацией.
Чего мне не хватает?