Sql server 2005 使用asp.net mvc 3的多个主键
我使用的是asp.NETMVC3,当我尝试在表中插入数据时,我遇到了一个包含2个主键的实体问题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
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解决的;