【发布时间】:2017-08-07 01:57:06
【问题描述】:
{"无法确定类型的复合主键顺序 'Conference_Project.Models.Login'。使用 ColumnAttribute(请参阅 http://go.microsoft.com/fwlink/?LinkId=386388) 或 HasKey 方法 (参见http://go.microsoft.com/fwlink/?LinkId=386387)指定一个 复合主键的顺序。"}
[Table("ConferenceLogin")]
public class Login
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long confid { get; set; }
[Key]
public string emailID { get; set; }
[Key]
public string registration { get; set; }
[Key]
public long regNo { get; set; }
}
Version Used : EntityFramework.6.1.3 And MVC5
我想要这个(emailID,registration,regNo)的唯一值
将所有设置为主键,然后 EntityFramework 显示错误
EntityFramework如何使用多个主键?
【问题讨论】:
-
如何在EntityFramework中使用多个主键?点击阅读异常信息中的链接。
-
您是否要使用 Code First 在表之间创建 n:n(多对多)关系(显示与其相关的所有表)?通常
HasKey在CreateModel()之前这样使用:builder.Entity<ForeignTablePropertyName>().HasKey(p => new { p.emailID, p.registration, p.regNo });。 -
解决方案已在我的错误链接中可用,只需设置 [Column(Order = 1)] 订单号
标签: c# entity-framework asp.net-mvc-5