После обновления моей модели и добавления аннотации данных.
Затем я выполнил команды add -igration и update-database, и у меня появилась следующая ошибка:
Имена столбцов в каждой таблицеДолжно быть уникальным.Имя столбца «LastName» в таблице «HumanCustomers» указывается более одного раза.
Но поле LastName используется один раз.
HumanCustomer Class:
public class HumanCustomer
{
public int Id { get; set; }
public int UserId { get; set; }
[Required]
[MinLength(2)]
[MaxLength(20)]
public string Name
{
get => Name;
set
{
value.TrimAndReduce();
}
}
[Required]
[MinLength(2)]
[MaxLength(20)]
public string LastName
{
get => LastName;
set
{
value = value.TrimAndReduce();
}
}
[NotMapped]
public string FullName
{
get { return Name + LastName; }
}
[Required(AllowEmptyStrings = true)]
public int GenderId { get; set; }
public string Address { get; set; }
public string Phone { get; set; }
[DataType(DataType.EmailAddress)]
[EmailAddress]
public string Email { get; set; }
public DateTime BirthDate { get; set; }
public int IdentityTypeId { get; set; }
public string IdentityCode { get; set; }
[Required]
[ForeignKey("UserId")]
public virtual User User { get; set; }
[Required]
[ForeignKey("IdentityTypeId")]
public virtual IdentityType IdentityType { get; set; }
[Required]
[ForeignKey("GenderId")]
public virtual Gender Gender { get; set; }
}
имиграция:
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "LastName",
table: "HumanCustomers",
maxLength: 20,
nullable: false,
defaultValue: "");
migrationBuilder.AddColumn<string>(
name: "Name",
table: "HumanCustomers",
maxLength: 20,
nullable: false,
defaultValue: "");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "LastName",
table: "HumanCustomers");
migrationBuilder.DropColumn(
name: "Name",
table: "HumanCustomers");
}