entity-framework - usar - entity framework ventajas y desventajas
Entity Framework 4.0: Error 113: la multiplicidad no es vĂ¡lida en Role (7)
He puesto una nueva tabla en mi base de datos y hay 4 tablas que tienen una relación de clave externa con ella. Pensé que configuré los 4 de la misma manera, pero obtengo este error;
Error 15 Error 113: la multiplicidad no es válida en la función ''ReportCellImage'' en la relación ''FK_OtherLeaves_ReportCellImages''. Debido a que todas las propiedades en el rol dependiente son anulables, la multiplicidad del rol principal debe ser ''0..1''.
Entonces, para simplificar mis tablas;
La tabla ReportCellImage contiene el campo ReportCellImageId que en la clave principal y un entero
La tabla OtherLeave contiene el campo ReportCellImageId como una clave foránea que admite nulos con un valor predeterminado de 4
Las otras tablas son similares y todas tienen una clave foránea configurada para unirse a la tabla ReportCellImage
Este es un cambio reciente, así que cuando actualizo mi archivo edmx de la base de datos, ¿por qué recibo este error y cómo lo soluciono?
Acabo de recibir el mismo mensaje y me dejó perplejo porque las tablas que modifiqué en el DB eran diferentes de las que recibía el mensaje.
Traté de cambiar la multiplicidad de 0..1 a muchos, pero el mensaje persistió, incluso después de que los comandos "Ejecutar herramientas personalizadas", limpian y reconstruyen.
Se resolvió abandonando la relación de la que EF se quejaba y actualizando el modelo de DB
Después de eliminar la referencia de Entidad en las clases de entidad y luego eliminar la referencia manualmente en la base de datos, volver a ponerlas paso a paso para resolver el problema me di cuenta de que después de terminar la solución rápida habría sido reemplazar el WithOptional con WithRequired en el contexto después Primero cambié el campo de nulo a nulo.
protected override void OnModelCreating(DbModelBuilder modelBuilder)
Eliminé la tabla actualizada del modelo y luego en Actualizar modelo desde la base de datos, la agregué nuevamente y me ayudó.
Estoy usando una primera base de datos para crear el archivo .edmx. Cuando me encontré con este problema, intenté un par de las sugerencias anteriores, pero todavía recibía errores, así que eliminé el archivo .edmx y actualicé todo el archivo de la base de datos actualizada.
He encontrado que a veces EF se confunde después de las actualizaciones de la base de datos existente, y si bien es ideal para encontrar la causa raíz, puede que no sea posible pasar una hora trabajando en algo en un entorno de trabajo (como el mío)
Nuestra base de datos es nueva y pequeña, por lo que refrescar el archivo es fácil y no lleva tanto tiempo.
El problema se fue, avanzando. . .
Haga clic derecho sobre la relación en su diagrama EDX. En proprety, cambie la Multiplicidad END1 a 0..1 (cero o uno de YOURTABLENAME)
Si su FK es nulo, su multiplicidad en la entidad principal debe ser 0..1 - el valor predeterminado no tiene ningún rol en esto porque puede asignar nulo a FK. Entonces, todas sus entidades dependientes deben estar en relación 0..1 - * con su entidad principal.
Tuve el mismo problema después de agregar una nueva tabla, probé todas las soluciones aquí, incluida la eliminación de la relación, pero eso no funcionó. La solución que funcionó para mí fue eliminar el modelo por completo y crear un nuevo modelo. No olvides eliminar la cadena de conexión en web.config para que tu nuevo EF pueda usar el mismo nombre.