相关疑难解决方法(0)

ASP.NET Core RC2种子数据库

我的问题是我试图用数据种子实体框架核心数据库,在我看来下面的代码显示工作.我已经意识到这不应该在ApplicationDbContext构造函数中调用,应该从中调用,startup但我不知道如何做到这一点.

编辑:根据Ketrex提供的解决方案,我的解决方案如下:

Startup.cs:

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        ... 

        app.ApplicationServices.GetRequiredService<ApplicationDbContext>().Seed();
    }
Run Code Online (Sandbox Code Playgroud)

种子延伸:

public static class DbContextExtensions
{
    public static void Seed(this ApplicationDbContext context)
    {
        // Perform database delete and create
        context.Database.EnsureDeleted();
        context.Database.EnsureCreated();

        // Perform seed operations
        AddCountries(context);
        AddAreas(context);
        AddGrades(context);
        AddCrags(context);
        AddClimbs(context);

        // Save changes and release resources
        context.SaveChanges();
        context.Dispose();
    }

    private static void AddCountries(ApplicationDbContext context)
    {
        context.AddRange(
            new Country { Name = "England", Code = "En" },
            new Country { Name = …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-core asp.net-core asp.net-core-1.0

11
推荐指数
1
解决办法
9417
查看次数

为什么删除迁移运行我的应用程序?

我在过去几个月做了一些版本升级,现在我注意到当我使用"删除迁移"删除我恢复的迁移时,它首先运行我的应用程序.

(我注意到,因为我们在启动时更新数据库,所以我遇到了无法删除迁移的情况,因为每次我尝试删除迁移时 - 它会自动运行启动,将迁移应用到db,然后删除失败它,因为它在db中看到它.)

任何的想法?

ef-migrations entity-framework-core asp.net-core

10
推荐指数
1
解决办法
5843
查看次数