web-dev-qa-db-ja.com

asp .net mvc 3を使用した複数の主キー

私はasp .net mvc 3を使用していますが、テーブルにデータを挿入しようとすると、2つの主キーを含むエンティティに問題があります。

 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; }

    }

挿入しようとすると、このエラーが発生しました:

タイプ 'ApplicationMVC3.Models.LineItem'の複合主キーの順序を決定できません。 ColumnAttributeまたはHasKeyメソッドを使用して、複合主キーの順序を指定します。

誰かが私を助けてくださいますように!!

46
Sarroura

2つの主キーを持つことができないので、これが実際には複合キーであると仮定します...エラーメッセージは、何をすべきか、つまり注文を追加することを正確に伝えます。これを行うには、キー列に[Column(Order = 0)]および[Column(Order = 1)]を追加します。

あなたの例のために:

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; }

    }
75
verdesmarald