remarks example cref c# .net entity-framework entity-framework-4 edmx

example - remarks c#



Marco de la Entidad-Ya Definido (9)

Tengo un problema con un archivo EDMX que nunca he encontrado antes. Aparentemente al azar cuando el sitio se está ejecutando o estoy depurando, el EF explotará y se quejará de que todo está redefinido. Tengo que reiniciar el grupo de aplicaciones y volver a conectar el depurador cada vez, luego comenzar de nuevo desde donde lo dejé, después de lo cual funciona de nuevo hasta la próxima vez que explota.

Ya recreé el EDMX con un nombre diferente, por lo tanto, MyAppEntities * 1 *

El error es:

Error: Schema specified is not valid. Errors: App_Code.Fck.csdl(3,4) : error 0019: The EntityContainer name must be unique. An EntityContainer with the name ''MyAppEntities1'' is already defined. App_Code.Fck.csdl(69,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.AdSection'' was already defined. App_Code.Fck.csdl(79,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.AgeRating'' was already defined. App_Code.Fck.csdl(89,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.Comment'' was already defined. App_Code.Fck.csdl(101,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.ContentImage'' was already defined. App_Code.Fck.csdl(115,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.ContentVideo'' was already defined. App_Code.Fck.csdl(126,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.FeaturePlan'' was already defined. App_Code.Fck.csdl(142,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.Flick'' was already defined. App_Code.Fck.csdl(165,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.Gallery'' was already defined. App_Code.Fck.csdl(184,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.Genre'' was already defined. App_Code.Fck.csdl(197,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.Like'' was already defined. App_Code.Fck.csdl(208,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.Meta'' was already defined. App_Code.Fck.csdl(216,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.Payment'' was already defined. App_Code.Fck.csdl(236,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.StatusUpdate'' was already defined. App_Code.Fck.csdl(246,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.UserProfile'' was already defined. App_Code.Fck.csdl(277,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.FK_FeaturePlans_AdSections'' was already defined. App_Code.Fck.csdl(289,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.FK_Flicks_AgeRatings'' was already defined. App_Code.Fck.csdl(301,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.FK_Comments_Users'' was already defined. App_Code.Fck.csdl(313,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.FK_Payments_FeaturePlans'' was already defined. App_Code.Fck.csdl(325,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.FK_Flicks_Users'' was already defined. App_Code.Fck.csdl(337,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.FK_Genres_Genres'' was already defined. App_Code.Fck.csdl(349,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.FK_Likes_Users'' was already defined. App_Code.Fck.csdl(361,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.FK_Payments_Users'' was already defined. App_Code.Fck.csdl(373,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.FK_StatusUpdates_Users'' was already defined. App_Code.Fck.csdl(385,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.FlickGenres'' was already defined. App_Code.Fck.csdl(389,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.User'' was already defined. App_Code.Fck.csdl(401,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.FK_Users_be_Users'' was already defined. App_Code.Fck.csdl(413,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.ContentImageSet'' was already defined. App_Code.Fck.csdl(426,4) : error 0019: Each type name in a schema must be unique. Type name ''FckModel.FK_ContentImages_ContentImageSets'' was already defined.


Después de cavar durante 2 días, finalmente encontré la causa del problema. Tenía 2 dll (aplicación de base de datos) que apunta a la misma base de datos de la entidad en el mismo proyecto. En resumen, tenía duplicados dll para una base de datos. Después de eliminar dll irrelevante, comenzó a funcionar bien.


He solucionado este problema mientras trabajaba en un proceso para permitir que los ensamblajes de las sub-aplicaciones se cargaran dinámicamente sin necesidad de reiniciar toda la aplicación. Estoy usando EF 5.0 con DbContext. Mi solución fue:

  1. Cambie el nombre del contenedor de la entidad para que refleje la versión del ensamblado, p. Ej. CustomerEntities_1_0_7_0 y guarde el edmx.
  2. Modifique manualmente el contexto para eliminar el sufijo de versión:

    public partial class CustomersEntities : DbContext { public CustomersEntities() : base("name=CustomersEntities")

  3. Modifique manualmente app.config de la misma manera.


Limpiar, reconstruir, implementar en modo de lanzamiento.


Para Aquellos cuyo problema aún no se ha resuelto, intente modificar la cadena de conexión en web.config.

En mi caso, cambié ConnectionString

De

<add name="StudentRegistrationDB" connectionString="metadata=res://*/App_Code.EFDataModel.StudentReg.csdl|res://*/App_Code.EFDataModel.StudentReg.ssdl|res://*/App_Code.EFDataModel.StudentReg.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;initial catalog=StudentRegistration;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" />

A:

<add name="StudentRegistrationDB" connectionString="metadata=res://App_Code.EFDataModel2.StudentRegDB.csdl|res://App_Code.EFDataModel2.StudentRegDB.ssdl|res://App_Code.EFDataModel2.StudentRegDB.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;initial catalog=StudentRegistration;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" />

tenga en cuenta que se eliminó ''estrella'' en los metadatos, de modo que los metadatos apuntan a la ubicación absoluta. Debido a la EF "estrella" está buscando en todas partes. Por lo tanto, se pueden encontrar duplicados

Nota: Esta es una solución simple, lo que significa que no está borrando ningún dato duplicado, lo cual no es una buena idea. La mejor manera es eliminar archivos duplicados .pdb / .dll como lo sugirieron las respuestas anteriores.


Para mi caso, eliminar el modelo y crearlo con un nuevo nombre resolvió este problema


Puede cambiar el nombre del ensamblado del proyecto que contenía el modelo.

La referencia al ensamblaje original todavía estaba en la aplicación del cliente.

Aplicación web ASP.net: - Elimine manualmente los archivos dll y pdb.

Sitio web de ASP.net: realice un restablecimiento de IIS y luego elimine los archivos temporales de asp.net en la carpeta C: / windows / microsoft.net / your framework version / temp asp.net files /


Solo tuve el mismo problema. Los archivos generados por Entity Framework NO PUEDEN estar en la carpeta App_Code. Me refiero a los archivos EDMX.

Apuesto a que tenía el error de que no podía hacer referencia a los archivos, por lo que verificó la propiedad del Contenido para compilar. Eso resolvió el error VS, pero creó instancias dobles: precompilado y compilado en tiempo de ejecución.

La solución es mantenerlo alejado de la carpeta App_code, ya que es una carpeta especial solo para código.


Tuve el mismo error. Este es un problema sobre dlls, en mi caso era un dll duplicado.


Tuve el mismo problema con una solución diferente, tengo dos proyectos usando el marco de entidad, con modelos de la misma base de datos con el mismo nombre, todas las tablas que se agregaron en ambos modelos donde en el mensaje de excepción interno, la solución era renombrar uno de los modelos