【发布时间】:2022-12-07 02:01:04
【问题描述】:
我有一个问题,不幸的是我无法修复它,也找不到合适的解决方案。 有谁知道问题出在哪里? 我正在尝试使用新的 TravelCountry 更新我的 Tours 对象。
迁移代码:
migrationBuilder.DropColumn(
name: "TravelCountry",
table: "Tours");
migrationBuilder.AddColumn<int>(
name: "TravelCountryId",
table: "Tours",
type: "int",
nullable: false,
defaultValue: 0);
migrationBuilder.CreateTable(
name: "TravelCountries",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_TravelCountries", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateIndex(
name: "IX_Tours_TravelCountryId",
table: "Tours",
column: "TravelCountryId");
migrationBuilder.AddForeignKey(
name: "FK_Tours_TravelCountries_TravelCountryId",
table: "Tours",
column: "TravelCountryId",
principalTable: "TravelCountries",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
它在“migraitonBuilder.AddForeignKey”处失败并出现错误:
无法添加或更新子行:外键约束失败(
gam_db.#sql-1e1c_fe,CONSTRAINTFK_Tours_TravelCountries_TravelCountryIdFOREIGN KEY (TravelCountryId) REFERENCEStravelcountries(Id) ON DELETE CASCADE)这是我的 Tour 对象:
public class Tour { [Key] public int Id { get; set; } [Required] public TravelCountry? TravelCountry { get; set; } }这是我的 TravelCountry 对象:
public class TravelCountry { [Key] public int Id { get; set; } [Required] public string? Name { get; set; } }
【问题讨论】:
标签: c# sql entity-framework entity-framework-core