私は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メソッドを使用して、複合主キーの順序を指定します。
誰かが私を助けてくださいますように!!
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; }
}