Проблема в том, что у вас есть одно свойство навигации к пользовательской таблице:
public ApplicationUser User { get; set; }
но два свойства внешнего ключа, которые утверждают, что являются внешним ключом этого одного свойства навигации:
[ForeignKey("User"),Column(Order = 0)]
public string ReviewerId { get; set; }
[ForeignKey("User"), Column(Order = 1)]
public string ReviewedId { get; set; }
Это настоящая ошибка. EF срабатывает из-за непоследовательного количества свойств в определении внешнего ключа и упомянутого первичного ключа и поэтому не попадает в реальную проблему.
Исправление состоит в том, чтобы определить два свойства навигации для ApplicationUser
, например:
[ForeignKey("Reviewer")]
public string ReviewerId { get; set; }
public ApplicationUser Reviewer{ get; set; }
[ForeignKey("ReviewedUser")]
public string ReviewedId { get; set; }
public ApplicationUser ReviewedUser{ get; set; }