从Startup.cs中检测EF core 2.0工具

时间:2017-10-19 13:00:23

标签: .net entity-framework asp.net-core-mvc

我的MVC核心2.0项目的Startup.cs中有一些代码,我只想在应用程序实际启动时运行。

有没有办法检测何时从EF工具启动应用程序?

1 个答案:

答案 0 :(得分:0)

事实证明,使用DotNet MVC Core 2.0的答案在于将任何不应该由工具运行的代码放入program.cs main中,因为BuildWebHost是工具执行的唯一代码。

    public static void Main(string[] args)
    {
        var host = BuildWebHost(args);

        // Code placed here will not be executed by EF tooling as it calls BuildWebHost directly

        host.Run();
    }

    public static IWebHost BuildWebHost(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .Build();