Sql server 2005 使用asp.net mvc 3的多个主键

Sql server 2005 使用asp.net mvc 3的多个主键,sql-server-2005,asp.net-mvc-3,entity-framework-4.1,Sql Server 2005,Asp.net Mvc 3,Entity Framework 4.1,我使用的是asp.NETMVC3,当我尝试在表中插入数据时,我遇到了一个包含2个主键的实体问题 public class LineItem { [Key] public int OrderId { get; set;} [Key] public int LineNum { get; set;} public string ItemId { get; set;} public int Qua

我使用的是asp.NETMVC3,当我尝试在表中插入数据时,我遇到了一个包含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方法 为复合材料指定订单的步骤 主键


请有人帮帮我

假设这实际上是一个复合键,因为不能有两个主键。。。错误消息会准确地告诉您要做什么,即添加订单。您可以通过向键列添加
[列(顺序=0)]
[列(顺序=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; }

    }

感谢您的帮助,我添加了这个[Key][Column(Order=0)]public int OrderId{get;set;}[Key][Column(Order=1)]public int LineNum{get;set;},问题是通过System.ComponentModel.DataAnnotations.Schema解决的;