Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

252
Vistas
No se puede determinar el orden de la clave primaria compuesta para el tipo

{"No se puede determinar el orden de la clave principal compuesta para el tipo 'Conference_Project.Models.Login'. Use ColumnAttribute (consulte http://go.microsoft.com/fwlink/?LinkId=386388 ) o el método HasKey (consulte http:/ /go.microsoft.com/fwlink/?LinkId=386387 ) para especificar un orden de claves principales compuestas".}

 [Table("ConferenceLogin")] public class Login { [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public long confid { get; set; } [Key] public string emailID { get; set; } [Key] public string registration { get; set; } [Key] public long regNo { get; set; } }

ingrese la descripción de la imagen aquí

 Version Used : EntityFramework.6.1.3 And MVC5

Quiero un valor único para esto ( emailID de correo electrónico, registration , número de registro) para establecer todo como clave principal, luego regNo mostró un error

¿Cómo usar múltiples claves primarias con EntityFramework?

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Aunque no estoy seguro de la lógica subyacente por la que ocurre este error, tuve el mismo problema con un proyecto en el que estaba trabajando para la clase. Lo que funcionó para mí fue agregar un decorador de columna (orden) a la etiqueta clave girando

 [Key]

dentro

 [Key, Column(Order = n)]

donde n es el índice basado en 0 de la clave en cuestión.

Bajo esta luz, su clase debería verse como la siguiente:

 [Table("ConferenceLogin")] public class Login { [Key, Column(Order = 0), DatabaseGenerated(DatabaseGeneratedOption.Identity)] public long confid { get; set; } [Key, Column(Order = 1)] public string emailID { get; set; } [Key, Column(Order = 2)] public string registration { get; set; } [Key, Column(Order = 3)] public long regNo { get; set; } }

¡Espero que esto funcione para ti tan bien como lo hizo para mí!

about 4 years ago · Santiago Trujillo Denunciar

0

Para establecer esa columna de registro como clave principal, debe establecer el tipo de datos nvarchar(50),. nvarchar (128) no le permitirá convertirlo en clave principal

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda