Я хочу создать эту схему базы данных в ASP.NET Core:
Я уже пробовал это с этим кодом без успеха.
Пользователь
public class User : IdentityUser
{
public override string Id { get; set; }
public virtual UserVisitors Visitors { get; set; }
}
UserVisitors
public class UserVisitors
{
public int Id { get; set; }
public string UserId { get; set; }
public string UserVisitorId { get; set; }
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public DateTime VisitTime { get; set; }
[ForeignKey("UserId")]
public virtual User User { get; set; }
[ForeignKey("UserVisitorId")]
public virtual User UserVisitor { get; set; }
}
Я получаю эту ошибку при миграциях:
Невозможно выполнитьопределить отношение, представленное свойством навигации> «User.Visitors» типа «UserVisitors».Либо вручную настройте отношение>, либо игнорируйте это свойство с помощью атрибута «[NotMapped]», либо> с помощью «EntityTypeBuilder.Ignore» в «OnModelCreating».
Я надеюсь, что кто-то может мне помочь.Заранее спасибо.
Обновление:
Изменено UserVisitors
на:
public class UserVisitors
{
public int Id { get; set; }
[InverseProperty("User")]
public string UserId { get; set; }
[InverseProperty("User")]
public string UserVisitorId { get; set; }
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public DateTime VisitTime { get; set; }
public virtual User User { get; set; }
}
Я могу скомпилировать его сейчас, но в базе данных это неправильно.Изображение базы данных:
Столбец UserVisitorId
не имеет отношения к User.UserID
.