【发布时间】:2021-01-23 08:20:22
【问题描述】:
我 PhoneNumber 是 Context 中的独立实体,我需要将其作为外键分配给 IdentityUser
我曾将Guid 用作主键,但是当我将其定义为外键时,我发现它们已经是IdentityUser 类中称为PhoneNumber 的字段,然后我将其更改为string 以覆盖实际的PhoneNumber 字段并且我想将其分配给 PhoneNumber 实体并将该字段用作 ForeignKey 然后我将 ForeignKey Atrribute 设置为 phoneNumber 然后遇到此错误
实体类型“用户”中属性“电话号码”和导航“电话号码”的 ForeignKeyAttributes 不指向对方。属性的 ForeignKeyAttribute 的值应该是导航名称,导航的 ForeignKeyAttribute 的值应该是外键属性名称。
这里是PhoneNumber Entity
public partial class PhoneNo
{
public PhoneNo()
{
User = new HashSet<User>();
}
[Key]
public string Id { get; set; }
public string Prifix { get; set; }
[Required]
public string LineNo { get; set; }
public ICollection<User>User{ get; set; }
}
UserEntity
public class User:IdentityUser
{
public string FirstName { get; set; }
public string MiddleName { get; set; }
public string LastName { get; set; }
public string ProfilePict { get; set; }
[ForeignKey("phoneNumber")]
public override string PhoneNumber { get; set; }
[ForeignKey("Identities")]
public Guid IdentityId { get; set; }
public Identities Identities { get; set; }
public PhoneNo phoneNumber { get; set; }
}
我尝试删除 ForeignKeyAttribute 但它创建了另一个名为 PhoneNumberId 的字段以及 Userclass 中的原始字段
【问题讨论】:
标签: rest .net-core entity-framework-core