ventajas que mvc migraciones framework commands automaticas activar entity-framework visual-studio-2012 entity-framework-5 code-first-migrations

entity-framework - que - migraciones entity framework core



Habilitar error de instalaciĆ³n de migraciones (4)

Me encuentro con un problema al habilitar las migraciones en uno de mis proyectos. Ejecuto el comando Enable-Migrations desde Nuget Console y recibo un error que dice:

Exception calling "SetData" with "2" argument(s): "Type ''Microsoft.VisualStudio.TeamArchitect.ModelingProject.ModelProjectAutomationObject'' in assembly ''Microsoft.VisualStudio.TeamArchitect.ModelingProject, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'' is not marked as serializable." At D:/Solution/packages/EntityFramework.5.0.0/tools/EntityFramework.psm1:391 char:5 + $domain.SetData(''startUpProject'', $startUpProject) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : SerializationException

Alguien ha enfrentado este problema antes que eso puede apuntarme en la dirección correcta.

Ambiente:
.NET 4.5
Entidad Marco 5
Actualización 2 de Visual Studio 2012


¡Encontrado el problema!
El problema era que el proyecto de inicio en mi solución era un proyecto de modelado. Por alguna razón, al habilitar las migraciones en mi proyecto, el módulo examina las bibliotecas relacionadas con el proyecto de inicio.

Cambié mi proyecto de inicio para que fuera un proyecto de prueba en la solución y todo funcionó.

ACTUALIZAR

Asegúrese de que su proyecto de inicio contenga el archivo app.config o web.config que desea usar para conectarse a la base de datos. Este es el archivo que se usará para generar migraciones, incluso si su DbContext está ubicado en un proyecto diferente. Puede configurar el proyecto que contiene su DbContext como el proyecto de inicio.


Intenta especificar el nombre del tipo de contenido:

Enable-Migrations -ContextTypeName Web.Infrastructure.ContextName

Si tiene varios proyectos en la solución, debe especificar cuál aplicar. (menú desplegable "DefaultProject" en la parte superior de la consola).


Resulta que cuando usa código de primeras migraciones, debe especificar un proyecto de inicio en VS que hace referencia al proyecto donde sus migraciones están definidas en otro lugar y no podrá cargar el proyecto.

(Si está utilizando Code First Migrations dentro de Visual Studio, esto puede suceder si el proyecto de inicio para su solución no hace referencia al proyecto que contiene sus migraciones. Puede cambiar el proyecto de inicio para su solución o usar el parámetro -StartUpProjectName).


También tuve este problema y me di cuenta de que no se podía conectar porque el inicio web.config no contenía los detalles de configuración de EF. El proyecto que sí lo contiene (la capa de datos) tiene la información de configuración necesaria, pero esa configuración no se usa. Simplemente mueva la información de configuración de EF desde el archivo de configuración donde se está utilizando EF y póngalo en la configuración de su proyecto de inicio. Funcionó una delicia para mí.