que migrations framework first existing ejemplo code .net entity-framework entity-framework-4.1 ef-code-first ef-model-first

.net - migrations - entity framework install



Modelo primero con DbContext, falla al inicializar la nueva base de datos (4)

Me doy por vencido. Encontré esto: http://blogs.msdn.com/b/adonet/archive/2011/03/15/ef-4-1-model-amp-database-first-walkthrough.aspx Y pensé, eso es genial. Así que rápidamente rediseñé mi modelo para aprovechar lo mejor de dos mundos.

Pero ahora mi modelo falla al crear una nueva base de datos (o agregar tablas a una existente). Me sale este error:

Es posible que el código generado usando las plantillas T4 para el desarrollo de Database First y Model First no funcione correctamente si se usa en el modo Code First. Para continuar usando Database First o Model First, asegúrese de que la cadena de conexión de Entity Framework esté especificada en el archivo de configuración de la aplicación en ejecución. Para usar estas clases, que se generaron desde Database First o Model First, con Code First agregue cualquier configuración adicional usando los atributos o la API DbModelBuilder y luego elimine el código que produce esta excepción.

A:

protected override void OnModelCreating(DbModelBuilder modelBuilder) { throw new UnintentionalCodeFirstException(); }

Y esa es mi cadena de conexión:

<add name="ForumContextContainer" providerName="System.Data.SqlClient" connectionString="Data Source=./SQLExpress; Initial Catalog=iForum; Integrated Security=True"/>

Nota. Agregué Initial Catalog más tarde, para probar si iba a funcionar, pero era exactamente lo mismo.


Eliminar o comentar esto:

//protected override void OnModelCreating(DbModelBuilder modelBuilder) //{ // throw new UnintentionalCodeFirstException(); //}

Y cambia tu cadena de conexión a una válida.


Esta es una cadena de conexión incorrecta. Una vez que esté usando model-first / database-first (EDMX), debe usar la cadena de conexión Entity con referencia a los archivos de metadatos .ssdl, .msl y .csdl. También tenga en cuenta que debe crear su base de datos en tiempo de diseño al crear el modelo desde EDMX = debe generar un script SQL y ejecutarlo para crear la base de datos.


Supongo que este error suele aparecer cuando alguien agrega el EDMX / db primero a una biblioteca de clases en la solución. Si lo hace, asegúrese de que la cadena de conexión agregada en el archivo App.config en el proyecto de la biblioteca de clases esté disponible en web.config o en el archivo de configuración del proyecto exe (así que simplemente cópielo / péguelo allí).


Add this connection string to web config and make changes: <add name="Entities" connectionString=" metadata=res://*/EFmodel.csdl|res://*/EFmodel.ssdl|res://*/EFmodel.msl; provider=System.Data.SqlClient;provider connection string=&quot; data source=SAI-PC; initial catalog=OrderDB; user id=sa; password=Pass$123; MultipleActiveResultSets=True; App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> EFmodel is my .edmx file name. OrderDB is database name.