ef core don´t use ASPNETCORE_ENVIRONMENT during update-database

.net-core c# entity-framework-core visual-studio-2017

Question

I use visual studio to update all my environments with a certain migration. It had worked fine using the command below.

update-database -Migration initMigrationProduct -c ProductContext -Environment Production

In ef core 2.0 this command have been changed and parameter -Environment have been removed. in docs it said.

"With 2.0, you can use the ASPNETCORE_ENVIRONMENT environment variable instead."

https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet

I have now tried on all kind of ways but when i run the update-database with ef core 2.0 it don´t use the ASPNETCORE_ENVIRONMENT variable. I tried to set in registry, application properties.

Please let me know what I need to do to get this working with updating diffrent environments?

If I start the application with diffrent lanchsettings it works but not using the package manager console.

1
41
8/28/2017 6:32:08 AM

Accepted Answer

Using the package manager in Visual Studio was a dead end for me. The solution was:

  1. Add below in .csproj in the starter project in solution:

    <ItemGroup>
        <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
    </ItemGroup>
    
  2. Open the command tool(cmd) and go the the same folder as .csproj for start project are located(Default project).

  3. Run the command as Anton Toshik suggested set ASPNETCORE_ENVIRONMENT=Production

4.Then run the command dotnet ef database update initMigrationProduct -c ProductContext And now it works.

REMARK: in this command database and update have changed place since earlier versions. And there are no argument/code for migration. The docs explain more after this clarification:
https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet

1
7/21/2018 11:17:30 AM

Popular Answer

To set the ASPNETCORE_ENVIRONMENT variable in Package Manager Console (PMC) , inside visual studio, to Production use this command first

$env:ASPNETCORE_ENVIRONMENT='Production'

Then you can use

Update-Database

normally.



Related Questions





Related

Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow