相关疑难解决方法(0)

使用ColumnAttribute或HasKey方法指定组合主键的顺序

我正在尝试在具有父子关系的2个对象上使用复合主键.每当我尝试创建新的迁移时,都会收到错误消息:

无法确定类型"Models.UserProjectRole"的复合主键排序.使用ColumnAttribute或HasKey方法指定组合主键的顺序.

根据错误建议,我确实添加了注释,Column (Order = X)但错误仍然存​​在并且不会消失,除非我只留下一个带有Key注释的字段.以下是我的目标:

public class UserProjectRole
{
    [Key, Column(Order = 0),DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public Guid UserProjectRoleID { get; set; }

    [Key, Column (Order = 1)]
    public Guid ProjectID { get; set; }

    [ForeignKey("ProjectID")]
    public Project Project { get; set; }

    public Guid AppUserGuid { get; set; }

    // followed by a number of unrelated String fields.
 }
Run Code Online (Sandbox Code Playgroud)

这是Project类:

public class Project: Base
{
    [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public Guid ProjectID { get; set; }

    public virtual ICollection<UserProjectRole> UserRoles { …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework database-migration entity-framework-4

31
推荐指数
3
解决办法
4万
查看次数