Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% encontró este documento útil (0 votos)
221 vistas3 páginas

Consola de Administracion de Paquetes Scaffold

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1/ 3

Consola de Administracion de Paquetes Scaffold La versión de herramientas de EF Core ' 2.1.

1-RTM-30846 ' es anterior a la del


runtime ' 2.1.3-RTM-32065 '. Actualice las herramientas para las últimas
-DbContext características y correcciones de errores.
Referencia de herramientas de Entity Framework Core: Para actualizar las herramientas:
 Instale la versión más reciente del SDK de .NET Core.
consola del administrador de paquetes en Visual Studio  Actualice Visual Studio a la última versión.
 18/09/2018  Edite el archivo . csproj para que incluya una referencia de paquete al
 Tiempo de lectura: 9 minutos paquete de herramientas más reciente, como se mostró anteriormente.
Las herramientas de la consola del administrador de paquetes (PMC) para Entity Otras versiones y tipos de proyecto
Framework Core realizar tareas de desarrollo en tiempo de diseño. Por ejemplo, Instale las herramientas de la consola del administrador de paquetes ejecutando
se crean migraciones, se aplican migraciones y se genera código para un el siguiente comando en la consola del administrador de paquetes:
modelo basado en una base de datos existente. Los comandos se ejecutan PowerShellCopiar
dentro de Visual Studio mediante la consola del administrador de Install-Package Microsoft.EntityFrameworkCore.Tools
paquetes.Estas herramientas funcionan con proyectos de .NET Framework y Actualice las herramientas ejecutando el siguiente comando en la consola del
.NET Core. administrador de paquetes.
Si no usa Visual Studio, se recomienda usar en su lugar las herramientas de PowerShellCopiar
línea de comandos de EF Core . Las herramientas de la CLI son multiplataforma Update-Package Microsoft.EntityFrameworkCore.Tools
y se ejecutan en un símbolo del sistema. Comprobación de la instalación
Instalación de las herramientas Ejecute este comando para comprobar que las herramientas están instaladas:
Los procedimientos para instalar y actualizar las herramientas difieren entre PowerShellCopiar
Get-Help about_EntityFrameworkCore
ASP.NET Core 2.1 + y versiones anteriores u otros tipos de proyecto. La salida tiene el siguiente aspecto (no indica qué versión de las herramientas
ASP.NET Core versión 2,1 y versiones posteriores está usando):
Las herramientas se incluyen automáticamente en un proyecto ASP.NET Core ConsolaCopiar
2.1 + porque el Microsoft.EntityFrameworkCore.Tools paquete se incluye en _/\__
el metapaquete Microsoft. AspNetCore. app. ---==/ \\
Por lo tanto, no tiene que hacer nada para instalar las herramientas, pero tiene ___ ___
| __|| __| | )
|. \|\
\\\
que: | _| | _| \_/ | //|\\
 Restaure los paquetes antes de usar las herramientas en un nuevo |___||_| / \\\/\\
proyecto. TOPIC
about_EntityFrameworkCore
 Instale un paquete para actualizar las herramientas a una versión más SHORT DESCRIPTION
reciente. Provides information about the Entity Framework Core Package Manager
Para asegurarse de que está obteniendo la versión más reciente de las Console Tools.
<A list of available commands follows, omitted here.>
herramientas, se recomienda que realice también el siguiente paso: Uso de las herramientas
 Edite el archivo . csproj y agregue una línea que especifique la versión más Antes de usar las herramientas:
reciente del paquete Microsoft. EntityFrameworkCore. Tools . Por ejemplo,
el archivo . csproj podría incluir un ItemGroup que tiene el siguiente aspecto:  Comprenda la diferencia entre el proyecto de destino y el de inicio.
Aprenda a usar las herramientas con .NET Standard bibliotecas de clases.
XMLCopiar  En el caso de los proyectos de ASP.NET Core, establezca el entorno.
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" /> Proyecto de destino e inicio
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Los comandos hacen referencia a un proyecto y un proyecto de inicio.
Version="3.1.3" />
<PackageReference  El proyecto también se conoce como proyecto de destino porque es donde
Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" los comandos agregan o quitan archivos. De forma predeterminada, el
Version="3.1.2" /> proyecto predeterminadoseleccionado en la consola del administrador
</ItemGroup> de paquetes es el proyecto de destino. Puede especificar otro proyecto
Actualice las herramientas cuando reciba un mensaje similar al del ejemplo como proyecto de destino mediante la --project opción.
siguiente:  El proyecto de inicio es el que las herramientas compilan y ejecutan. Las
herramientas tienen que ejecutar código de aplicación en tiempo de diseño
para obtener información sobre el proyecto, como la cadena de conexión a
la base de datos y la configuración del modelo. De forma predeterminada, TABLA 1
el proyecto de inicio en Explorador de soluciones es el proyecto de Parámetro Descripción
inicio.Puede especificar otro proyecto como proyecto de inicio mediante de proyecto < predeterminado de la consola del administrador de paquetes se utiliza
la --startup-projectopción. como proyecto de destino.
El proyecto de inicio y el proyecto de destino suelen ser el mismo proyecto. Un -Proyecto<> de Proyecto de inicio. Si se omite este parámetro, el proyecto de inicio de las
escenario típico en el que se trata de proyectos independientes es cuando: cadena propiedades de la solución se usa como proyecto de destino.
 El contexto de EF Core y las clases de entidad se encuentran en una -Verbose Mostrar resultado detallado.
biblioteca de clases de .NET Core. Para mostrar información de ayuda sobre un comando, use el Get-
 Una aplicación de consola de .NET Core o una aplicación web hace Help comando de PowerShell.
referencia a la biblioteca de clases.  Sugerencia
También es posible colocar el código de las migraciones en una biblioteca de Los parámetros context, Project y proyecto admiten la expansión de pestañas.
clases independiente del contexto de EF Core. Agregar-migración
Otras plataformas de destino Agrega una nueva migración.
Las herramientas de la consola del administrador de paquetes funcionan con Parámetros:
proyectos de .NET Core o .NET Framework. Es posible que las aplicaciones que TABLA 2
tienen el modelo de EF Core en una biblioteca de clases .NET Standard no Parámetro Descripción
tengan un proyecto de .NET Core o .NET Framework. Por ejemplo, esto es cierto -Nombre de < El nombre de la migración. Este es un parámetro posicional y es
para las aplicaciones Xamarin y Plataforma universal de Windows. En tales cadena>-Name obligatorio.
casos, puede crear un proyecto de aplicación de consola de .NET Core o .NET <String>
Framework cuyo único propósito es actuar como proyecto de inicio para las -OutputDir < cadena> El directorio que se usa para generar los archivos. Las rutas de acceso
herramientas. El proyecto puede ser un proyecto ficticio sin código real — , solo son relativas al directorio del proyecto de destino. El valor
es necesario para proporcionar un destino para las herramientas. predeterminado es "migraciones".
¿Por qué es necesario un proyecto ficticio? Como se mencionó anteriormente, ->de cadena de Espacio de nombres que se va a usar para las clases generadas.De forma
las herramientas tienen que ejecutar código de aplicación en tiempo de espacio de nombres < predeterminada, se genera desde el directorio de salida.
diseño. Para ello, deben usar .NET Core o .NET Framework Runtime. Cuando el Drop-Database
modelo de EF Core está en un proyecto que tiene como destino .NET Core o Quita la base de datos.
.NET Framework, las herramientas de EF Core toman prestado el tiempo de Parámetros:
ejecución del proyecto. No pueden hacerlo si el modelo de EF Core está en una TABLA 3
biblioteca de clases .NET Standard. El .NET Standard no es una implementación Parámetro Descripción
real de .NET; es una especificación de un conjunto de API que las -WhatIf Mostrar la base de datos que se va a quitar, pero no quitarla.
implementaciones de .NET deben admitir. Por lo tanto .NET Standard no es Get-DbContext
suficiente para que las herramientas de EF Core ejecuten código de Obtiene información sobre un DbContext tipo.
aplicación. El proyecto ficticio que cree para usarlo como proyecto de inicio Remove-Migration
proporciona una plataforma de destino concreta en la que las herramientas Quita la última migración (revierte los cambios de código que se realizaron para
pueden cargar la biblioteca de clases de .NET Standard. la migración).
Entorno de ASP.NET Core Parámetros:
Para especificar el entorno de ASP.NET Core proyectos, establezca env: TABLA 4
ASPNETCORE_ENVIRONMENT antes de ejecutar los comandos. Parámetro Descripción
Parámetros comunes -Force Revertir la migración (revertir los cambios que se aplicaron a la base de datos).
En la tabla siguiente se muestran los parámetros que son comunes a todos los Scaffold-DbContext
comandos EF Core: Genera código para los DbContext tipos de entidad y para una base de
TABLA 1 datos. Para Scaffold-DbContext que genere un tipo de entidad, la tabla de base
Parámetro Descripción de datos debe tener una clave principal.
-Cadena de La clase DbContext que se va a usar. Nombre de clase solo o completo con Parámetros:
contexto <> espacios de nombres. Si se omite este parámetro, EF Core encuentra la clase TABLA 5
de contexto. Si hay varias clases de contexto, este parámetro es obligatorio. Parámetro Descripción
-> de la cadena Proyecto de destino. Si se omite este parámetro, el proyecto :>de la cadena de La cadena de conexión a la base de datos. En el caso de los proyectos de
TABLA 5 TABLA 6
Parámetro Descripción Parámetro Descripción
conexión < ASP.NET Core 2. x, el valor puede ser name = < nombre de la cadena de -Desde <> de La migración inicial. Las migraciones pueden identificarse por nombre o por
conexión>. En ese caso, el nombre procede de los orígenes de cadena identificador. El número 0 es un caso especial que significa antes de la primera
configuración que se configuran para el proyecto. Este es un parámetro migración. El valor predeterminado es 0.
posicional y es obligatorio. -Hasta <> de La migración final. Tiene como valor predeterminado la última migración.
->de cadena del Proveedor que se va a usar. Normalmente, es el nombre del paquete cadena
proveedor < NuGet, por -Idempotente Generar un script que se puede usar en una base de datos en cualquier
ejemplo: Microsoft.EntityFrameworkCore.SqlServer . Este es migración.
un parámetro posicional y es obligatorio.
-OutputDir < Directorio en el que se colocarán los archivos. Las rutas de acceso son :> de la Archivo en el que se va a escribir el resultado. Si se omite este parámetro, el
cadena> relativas al directorio del proyecto. cadena de archivo se crea con un nombre generado en la misma carpeta en que se crean los
salida < archivos en tiempo de ejecución de la aplicación, por
-ContextDir < Directorio en el que se va a colocar el DbContext archivo. Las rutas de ejemplo: /obj/Debug/netcoreapp2.1/ghbkztfz.SQL/.
cadena> acceso son relativas al directorio del proyecto.  Sugerencia
-> de cadena de Espacio de nombres que se va a usar para todas las clases generadas. De Los parámetros para, de y de salida admiten la expansión de pestañas.
espacio de nombres forma predeterminada, se genera a partir del espacio de nombres raíz y el En el ejemplo siguiente se crea un script para la migración de InitialCreate con
< directorio de salida. el nombre de la migración.
-ContextNamespace Espacio de nombres que se va a utilizar para la clase
< cadena> generada DbContext .Nota: invalida -Namespace . PowerShellCopiar
Script-Migration -To InitialCreate
-Cadena de Nombre de la DbContext clase que se va a generar. En el ejemplo siguiente se crea un script para todas las migraciones después de
contexto <> la migración de InitialCreate con el identificador de migración.
-Schemas < cadena Esquemas de las tablas para las que se van a generar tipos de entidad. Si PowerShellCopiar
[] > se omite este parámetro, se incluyen todos los esquemas. Script-Migration -From 20180904195021_InitialCreate
-Tables < String [] Tablas para las que se van a generar tipos de entidad. Si se omite este Actualizar base de datos
> parámetro, se incluyen todas las tablas. Actualiza la base de datos a la última migración o a una migración especificada.
-DataAnnotations Use los atributos para configurar el modelo (siempre que sea posible). Si TABLA 7
se omite este parámetro, solo se usa la API fluida. Parámetro Descripción
- Utilice nombres de tabla y columna exactamente como aparecen en la -Migración <>de La migración de destino. Las migraciones pueden identificarse por nombre o
UseDatabaseNames base de datos. Si se omite este parámetro, los nombres de base de datos se cadena por identificador. El número 0 es un caso especial que significa antes de la
cambian para ajustarse mejor a las convenciones de estilo de nombre de primera migración y hace que se reviertan todas las migraciones. Si no se
C#. especifica ninguna migración, el comando toma como valor predeterminado
-Force Sobrescribe los archivos existentes. la última migración.
Ejemplo: :>de la cadena de La cadena de conexión a la base de datos. Tiene como valor predeterminado
PowerShellCopiar conexión < el especificado en AddDbContext o OnConfiguring .
Scaffold-DbContext  Sugerencia
"Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" El parámetro Migration admite la expansión de pestañas.
Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
En el ejemplo siguiente se revierten todas las migraciones.
Ejemplo que scaffolding solo selecciona tablas y crea el contexto en una carpeta PowerShellCopiar
independiente con un nombre y un espacio de nombres especificados: Update-Database -Migration 0
PowerShellCopiar En los siguientes ejemplos se actualiza la base de datos a una migración
"Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" especificada. El primero usa el nombre de la migración y el segundo usa el
Scaffold-DbContext
Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Tables identificador de migración y una conexión especificada:
"Blog","Post" -ContextDir Context -Context BlogContext -ContextNamespace
New.Namespace
PowerShellCopiar
Update-Database -Migration InitialCreate
Script: migración Update-Database -Migration 20180904195021_InitialCreate -Connection
Genera un script SQL que aplica todos los cambios de una migración your_connection_string
seleccionada a otra migración seleccionada. Recursos adicionales
Parámetros:  Migraciones
 Ingeniería inversa

También podría gustarte