Я только что закончил обновление моего. net core 2.2 до 3.1.101. Когда я запускаю (do tnet run), я получаю эту ошибку на своих контроллерах
Невозможно определить представленное отношение по свойству навигации «UserAssignment.Appointee» типа «Пользователь». Либо настройте отношение вручную, либо игнорируйте это свойство с помощью атрибута «[NotMapped]» или с помощью «EntityTypeBuilder.Ignore» в «OnModelCreating».
Позвольте мне сначала объяснить отношение, пользователь может иметь много UserAssignment, каждое UserAssignment может иметь Appointee и Manager (который является другим пользователем).
UserAssignment
namespace CRSApp.API.Models
{
public class UserAssignment
{
public int UserId { get; set; }
public User User { get; set; }
public DateTime StartDate {get; set;}
public bool IsPersonalInsolvency { get; set; }
public bool IsCorporateInsolvency { get; set; }
public int? AppointeeId { get; set; }
public User Appointee { get; set; }
public int? ManagerId { get; set; }
public User Manager { get; set; }
public int? StaffDefaultRateId {get; set;}
public StaffDefaultRate StaffDefaultRate { get; set; }
}
}
User.cs
public class User
{
public int Id { get; set; }
[Column(TypeName = "varchar(200)")]
public string Username { get; set; }
[Column(TypeName = "blob")]
public byte[] PasswordHash { get; set; }
[Column(TypeName = "blob")]
public byte[] PasswordSalt { get; set; }
[Column(TypeName = "varchar(200)")]
public string FirstName { get; set; }
[Column(TypeName = "varchar(200)")]
public string LastName { get; set; }
[Column(TypeName = "varchar(200)")]
public string MiddleName { get; set; }
[Column(TypeName = "varchar(200)")]
public string Email { get; set; }
public string MobileNumber { get; set; }
public ICollection<UserAssignment> Assignments {get; set;}
}
построитель модели DbContext :
builder.Entity<UserAssignment>().HasKey(x => new {x.UserId, x.StaffDefaultRateId});
builder.Entity<UserAssignment>()
.HasOne( x => x.User)
.WithMany(y => y.Assignments)
.HasForeignKey( x => x.UserId);
builder.Entity<UserAssignment>()
.HasOne( x => x.StaffDefaultRate)
.WithMany( y => y.Assignments)
.HasForeignKey( x => x.StaffDefaultRateId);
Пожалуйста, помогите мне, как решить эту проблему? как и в предыдущем ef core 2.2, этот код работает нормально.