Я пытаюсь использовать составной первичный ключ для 2 объектов с родительским -дочерним отношением. Всякий раз, когда я пытаюсь создать новую миграцию, я получаю сообщение об ошибке :
. Не удалось определить составной порядок первичного ключа для типа «Models.UserProjectRole». Используйте метод ColumnAttribute или HasKey, чтобы указать порядок составных первичных ключей.
Согласно ошибке, я добавляю аннотацию Column (Order = X)
, но ошибка все еще существует и не исчезает, если только я не оставлю только одно поле с ключевой аннотацией. Вот мой объект, который он отключил:
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.
}
Вот класс проекта:
public class Project: Base
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid ProjectID { get; set; }
public virtual ICollection<UserProjectRole> UserRoles { get; set; }
// followed by a number of unrelated String fields.
}
Вот часть моего DBContext:
public class SiteContext : DbContext
{
public DbSet<Project> Projects { get; set; }
public DbSet<UserProjectRole> UserProjectRoles { get; set; }
}
Я использую VisualStudio 2012 с EF 4.3.1
Я уже некоторое время бьюсь об это головой, и все ответы на форуме и SO предлагают добавить аннотацию порядка столбцов, которая у меня уже есть. Я пропустил что-то очевидное???
Спасибо, что дочитали до этого места-)