使用服務的ASP.NET Core RC2種子數據

asp.net-core asp.net-identity entity-framework-core sql-server

我一直在使用ASP.NET 5 RC1,其中我有一個應用程序,我使用Services將管理憑據存入數據庫,如下所示:

public void ConfigureServices(IServiceCollection services)
    {
        services.AddEntityFramework()
                .AddSqlServer()
                .AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));

        services.AddIdentity<AdministratorUser, IdentityRole>()
            .AddEntityFrameworkStores<ApplicationDbContext>()
            .AddDefaultTokenProviders();

        services.AddMvc();

        services.AddTransient<AdministratorSeedData>();
    }

這是連接字符串子對象:

 "ConnectionString": "Server=.;Database=kjanshair;Trusted_Connection=True;"

我使用管理種子數據來播種用於播種數據的服務。一切正常但是當我將它移植到RC2時,啟動時的以下更改為:

public void ConfigureServices(IServiceCollection services)
    {
        services.AddDbContext<ApplicationDbContext>(options => 
        options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));

        services.AddIdentity<ApplicationUser, IdentityRole>()
            .AddEntityFrameworkStores<ApplicationDbContext>()
            .AddDefaultTokenProviders();

        services.AddMvc();

        services.AddTransient<AdministratorSeedData>();
    }

連接字符串為:

"ConnectionString": "Server=.;Database=_CHANGE_ME;Trusted_Connection=True;"

我在Configure()方法中遇到異常

public async void Configure(IApplicationBuilder app, AdministratorSeedData seeder)
    {
        app.UseIdentity();

        app.UseMvcWithDefaultRoute();

        await seeder.EnsureSeedData(); //Here exception occurs
    }

說:

Message = "Cannot open database \"_CHANGE_ME\" requested by the login. The login failed.\r\nLogin failed for user 'DESKTOP-55E4D9H\\Janshair Khan'."

為什麼我收到此錯誤?我看了很多替代品,但無法解決。

熱門答案

我已經確定了問題,現在最終解決了這個問題。問題是RC2身份生態系統的變化。我通過在終端中鍵入以下內容來添加遷移:

dotnet ef migrations add "migration message"

,更新數據庫

dotnet ef database update

現在我能夠在我的數據庫中播種數據。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因