У меня есть этот WdUser
класс, унаследованный от SysModelBase
:
[Serializable]
public class WdUser : SysDomainModelBase, IWdUser
{
[Display(Name = "UserName")]
[MaxLength(25)]
[Required]
public string UserName { get; set; }
[Required]
[Index(IsUnique = true)]
[MaxLength(25)]
[Display(Name = "LoginName ")]
public string LoginName { get; set; }
[Display(Name = "Password ")]
[MaxLength(50)]
[Required]
[DataType(DataType.Password)]
public string Password { get; set; }
[Display(Name = "Email 地址")]
[DataType(DataType.EmailAddress)]
[MaxLength(50)]
public string Email { get; set; }
[Display(Name = "Telephone ")]
[DataType(DataType.PhoneNumber)]
[MaxLength(15)]
public string Telephone { get; set; }
[Display(Name = "LastLoginDateTime ")]
[DataType(DataType.DateTime)]
public DateTime LastLoginDateTime { get; set; }
[Required]
[Display(Name = "UserStatus ")]
public UserStatus Status { get; set; }
[Display(Name = "Roles ")]
public List<WdRole> Roles { get; set; }
public bool IsInRole(string role) => Roles.Any(item => item.RoleName == role);
[NotMapped]
public IIdentity Identity { get; set; }
}
на который похож SysModelBase
[Serializable]
public class SysModelBase : ModelBase, ISysModel
{
[JsonIgnore]
[DataType(DataType.DateTime)]
public DateTime CreateDateTime { get; set; }
[JsonIgnore]
public WdUser CreateUser { get; set; }
[JsonIgnore]
[DataType(DataType.DateTime)]
public DateTime LastUpdateDateTime { get; set; }
[JsonIgnore]
public WdUser LastUpdateUser { get; set; }
[JsonIgnore]
public bool IsDeleted { get; set; }
public bool IsEnabled { get; set; }
}
Когда я запускаю этот код, я получаю сообщение об ошибке:
Невозможно определить основной конец ассоциации между типами SHWDTech.Platform.Model.Model.WdUser и SHWDTech.Platform.Model.Model.WdUser. Главный конец этой связи должен быть явно настроен с использованием API-интерфейса текучей связи или аннотаций данных.
Как мне установить отношения с WdUser
классом?
Я не знаю, как установить первичный ключ из той же таблицы в другие поля в качестве внешнего ключа.