visual studio para net migrations framework first existing descargar code asp visual-studio-2010 entity-framework-4 nuget ef-migrations

visual studio 2010 - net - Uso de la consola de NuGet Package Manager fuera de Visual Studio para ejecutar las migraciones de Entity Framework



entity framework asp net (5)

A partir de hoy, puede usar el comando dotnet ef para usar todo el primer código de migración de comando

Ejemplo:

  • Update-Database

    -> dotnet ef database update

  • Add-Migration AddProductReviews

    -> dotnet ef migrations add AddProductReviews

  • Remove-Migration

    -> dotnet ef migrations remove

El documento oficial se puede encontrar aquí.

¿Hay NuGet abrir la consola de NuGet Package Manager fuera de Visual Studio?

Mi objetivo es ejecutar algunas migraciones, que creé usando EntityFramework.Migrations

Básicamente, quiero ejecutar Update-Database –Verbose command en un entorno que no tiene Visual Studio, pero tiene PowerShell 2.0 y la herramienta de línea de comandos NuGet.


Aquí hay una función de PowerShell que hace el equivalente de update-database en la consola de Package Manager, desde una ventana normal de PowerShell, utilizando EF xxx

Lo estoy usando desde la línea de comandos como parte de un proceso de ''compilación completa'' en mi máquina dev;

function Update-Database($solutionDir, $projectBinDir, $assemblyName, $appConfigFile) { $efMigrateExe = "$solutionDir/packages/EntityFramework.*/tools/migrate.exe" Write-Host "Updating Entity Framework Database" Write-Host " Migrate.exe at $efMigrateExe" Write-Host " EF project binary at $projectBinDir" Write-Host " EF config at $appConfigFile" . "$efMigrateExe" "$assemblyName" /startupConfigurationFile="$appConfigFile" /startupDirectory="$projectBinDir" }

Los parámetros son;

$solutionDir - el directorio donde vive su solución; El padre de la carpeta de packages . $projectBinDir : el directorio <something>/bin/debug contiene el ensamblaje con su DbContext . $assemblyName : el nombre del archivo de ensamblaje, como MyEfProject.dll appConfigFile : el nombre del archivo app.config o web.config que contiene cadenas de conexión, etc. Equivalente a usar -StartupProjectName en la consola de Package Manager.


El enlace para la información migrate.exe está desactualizado. Ya que este post me ayudó aquí es lo último para otras personas que se topan con esto:

http://msdn.microsoft.com/en-us/data/jj618307.aspx

Resumen : el artículo le da instrucciones sobre cómo instalar migrate.exe y cómo usar los argumentos de la línea de comandos para realizar su escenario de migración con él. Además, se identifican problemas comunes. En primer lugar, instale EF con nuget y busque la carpeta de herramientas del paquete para encontrar el archivo exe.



Si echas un vistazo a Nuget Faq dice lo siguiente:

¿Puedo usar NuGet fuera de Visual Studio?

¡Seguro que puedes! Como se discutió en la pregunta sobre herramientas de línea de comandos para NuGet, el enfoque principal de NuGet es Visual Studio, pero la API principal de NuGet no tiene dependencias en Visual Studio. Hay varios clientes de NuGet que funcionan completamente fuera de Visual Studio:

SharpDevelop Alpha. (Vea una demostración de esto en la charla de Phil Haack en MvcConf).

Páginas web ASP.NET en WebMatrix. (Vea una demostración de esto en la charla de Phil Haack.)

NuGet.exe

Pero para usar el código de las primeras migraciones fuera de Visual Studio, las notas de la versión dicen lo siguiente:

Sin experiencia fuera de Visual-Studio. Alpha 2 solo incluye la experiencia integrada de Visual Studio. También planeamos entregar una herramienta de línea de comandos y un proveedor de MSDeploy para Migraciones de Code First.