我对Code First实体有以下类定义:
public class Matches
{
[Key]
[Required]
[Column(Order = 1)]
public Guid MatchGroup { get; set; }
[Key]
[Required]
[Column(Order = 2)]
public long ProcedureId { get; set; }
public long MatchLevelId { get; set; }
[ForeignKey("ProcedureId")]
public virtual Procedure Procedure { get; set; }
[ForeignKey("MatchLevelId")]
public virtual ProcedureMatchLevel MatchLevel { get; set; }
}
但是,在创建初始迁移时,我收到以下错误:
Unable to determine composite primary key ordering for type
'Entities.Procedures' Use the ColumnAttribute or the HasKey
method to specify an order for composite primary keys.
如您所见,我使用的是[Column]
属性。
有没有人遇到过这个问题?我已经尝试使用[ForeignKey]
以相同的错误切换我的[Key, ForeignKey("Procedure")]
声明所属的属性。
程序类:
[Table("ProcedureList")]
public class Procedure
{
[Required]
public int ProcedureId { get; set; }
[Required]
public string Code { get; set; }
[Required]
public string Description { get; set; }
}
您还需要为Procedure类定义主键
[Table("ProcedureList")]
public class Procedure
{
[Key]
[Required]
public int ProcedureId { get; set; }
[Required]
public string Code { get; set; }
[Required]
public string Description { get; set; }
}