Problemas de asignación uno a uno de Entity Framework

Usando VS 2010 beta 2, ASP.NET MVC.

Traté de crear un archivo Entity framework y obtuve los datos de mi base de datos.

Hubo algunos problemas con las relaciones, así que comencé a ajustar 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 Role ‘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 algunas otras relaciones de muchos a muchos con otras tablas, pero cuando trato de establecer una relación de uno a uno con otras tablas, aparece ese error.

Tabla de usuarios

  • Identidad de usuario
  • Nombre de usuario
  • Email

etc.

UserProfiles Table

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

Para las relaciones uno-a-uno, EF espera que las tablas usen la misma clave primaria. Y realmente, si es un verdadero uno-a-uno, probablemente deberían hacerlo . Por lo tanto, en su ejemplo, si convierte UserID en la clave principal en la tabla UserProfiles, su uno-a-uno funcionará.

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

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

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

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

Hacer la clave primaria compuesta establecida para dos columnas UserProfileID y UserID