Entity Framework One-to-One Mapping Issues

entity-framework

Pregunta

Utilizando VS 2010 beta 2, ASP.NET MVC.

Intenté crear un archivo de Entity Framework y obtuve los datos de mi base de datos.

Hubo algunos problemas con las relaciones, así que empecé a modificar las cosas, pero seguí recibiendo el siguiente error para las relaciones simples de uno a uno.

Error 1 Error 113: la multiplicidad no es válida en el rol 'UserProfile' en la relación 'FK_UserProfiles_Users'. Debido a que las propiedades del rol dependiente no son las propiedades clave, el límite superior de la multiplicidad del rol dependiente debe ser *. myEntities.edmx 2024

Mi tabla de Usuarios consiste en otras relaciones de muchos a muchos con otras tablas, pero cuando intento establecer una relación de uno a uno con otras tablas, aparece un error.

Tabla de usuarios

  • ID de usuario
  • Nombre de usuario
  • Email

etc.

Tabla de perfiles de usuario

  • ID de perfil de usuario
  • UserID (FK para la tabla de usuarios)
  • Ubicación
  • Cumpleaños

Respuesta aceptada

Para las relaciones de uno a uno, EF espera que las tablas utilicen la misma clave principal. Y realmente, si es un verdadero uno a uno, probablemente deberían . Entonces, en su ejemplo, si convierte UserID en la clave principal en la tabla UserProfiles, su uno a uno funcionará.


Respuesta popular

Tengo un problema similar, pero con un escenario de venta y mantenimiento.

Un Layby puede existir sin una venta, y una venta puede existir sin un Layby. Esto significa que tengo una relación de 0 o 1 a 0 o 1 .

Layby hace referencia a sale, pero layby no puede usar la clave principal de Sale, y Sale no puede usar la clave primaria de Layby.

Resolví el problema usando una relación de 0 o 1 a muchas , configuré el 'Laybys' getter and setter en la venta como privado, y luego proporcioné mi propio 'Layby' getter and setter en mi POCO.



Related

Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué