Clé primaire Multiple avec asp.net mvc 3

j'utilise asp .net mvc 3, et j'ai un problème avec une entité qui contient 2 clés primaires, quand j'essaie d'insérer des données dans la table.

 public class LineItem
    {
        [Key]
        public int OrderId { get; set;}
        [Key]
        public int LineNum  { get; set;}
        public string ItemId { get; set;}
        public int Quantity { get; set;}
        public decimal UnitPrice { get; set; }

    }

lorsque j'essaie d'insérer j'ai eu cette erreur :

impossible de déterminer composite primaire ordre de la clé pour le type "ApplicationMVC3.Modèle.Compte'. L'utilisation de la ColumnAttribute ou la méthode HasKey pour spécifier un ordre composite les clés primaires.

que quelqu'un m'aide s'il vous plaît !!

45
demandé sur Ladislav Mrnka 2011-05-11 14:10:08

1 réponses

en supposant qu'il s'agit en fait d'une clé composite, puisque vous ne pouvez pas avoir 2 clés primaires... Le message d'erreur vous indique exactement quoi faire, à savoir ajouter une commande. Vous pouvez le faire en ajoutant [Column(Order = 0)] et [Column(Order = 1)] à vos colonnes clés.

Pour ton exemple:

public class LineItem
    {
        [Key][Column(Order = 0)]
        public int OrderId { get; set;}
        [Key][Column(Order = 1)]
        public int LineNum  { get; set;}
        public string ItemId { get; set;}
        public int Quantity { get; set;}
        public decimal UnitPrice { get; set; }

    }
73
répondu verdesmarald 2013-10-03 11:11:31