当我尝试应用迁移时,出现错误The property or navigation 'BankAccount' cannot be added to the entity type 'ClubTreasurer.Models.Person' because a property or navigation with the same name already exists on entity type 'ClubTreasurer.Models.Person'.
。
我尝试重新启动,清理和重建。删除并重新创建数据库,删除旧的迁移。
我以为TPH是问题所在,所以我为他们分配了所有自己的表:
modelBuilder.Entity<BankAccount>().ToTable("BankAccount");
modelBuilder.Entity<Person>().ToTable("Person");
我的2个班级和共享基类:
namespace ClubTreasurer.Models
{
public class BankAccount : BaseModel
{
[Required]
public string IBAN { get; set; }
public string Name { get; set; }
public int PersonId { get; set; }
public Person Person { get; set; }
public ICollection<BankTransaction> Transactions { get; set; }
}
}
namespace ClubTreasurer.Models
{
public class Person : BaseModel
{
[Display(Name = "First Name")]
public string FirstName { get; set; }
[Display(Name = "Last Name")]
public string LastName { get; set; }
[Display(Name = "Name")]
public string FullName { get { return $"{FirstName} {LastName}"; } }
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd-MM-yyy}", ApplyFormatInEditMode = true)]
public DateTime DOB { get; set; }
public ICollection<BankAccount> BankAccounts { get; set; }
}
}
namespace ClubTreasurer.Models
{
public class BaseModel
{
public int ID { get; set; }
public DateTime Created { get; set; }
public DateTime LastModified { get; set; }
[ForeignKey("LastModifiedBy")]
public string LastModifiedById { get; set; }
[ForeignKey("CreatedBy")]
public string CreatedById { get; set; }
public IdentityUser CreatedBy { get; set; }
public IdentityUser LastModifiedBy { get; set; }
}
}
我知道我可以删除继承并将阴影道具添加到每个类中,但这似乎很浪费。
编辑,我尝试删除继承并将审核属性移至每个类,但仍然收到相同的错误消息
后编辑后编辑似乎对于过去的迁移,我没有删除足够的内容。