在ASP.NET Core 2.1中,迁移关键字不支持userid。为了解决这个问题,你可以手动添加一个属性来表示userid,并在迁移中使用这个属性。
下面是一个示例解决方法:
首先,在你的实体类中添加一个名为UserId的属性,用来表示userid:
public class YourEntity
{
// Other properties
public int UserId { get; set; }
}
然后,在迁移文件中使用migrationBuilder.Sql
方法来手动添加userid列和外键关系:
protected override void Up(MigrationBuilder migrationBuilder)
{
// Other migration code
migrationBuilder.AddColumn(
name: "UserId",
table: "YourEntity",
nullable: false,
defaultValue: 0);
migrationBuilder.CreateIndex(
name: "IX_YourEntity_UserId",
table: "YourEntity",
column: "UserId");
migrationBuilder.AddForeignKey(
name: "FK_YourEntity_Users_UserId",
table: "YourEntity",
column: "UserId",
principalTable: "Users",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
// Other migration code
migrationBuilder.DropForeignKey(
name: "FK_YourEntity_Users_UserId",
table: "YourEntity");
migrationBuilder.DropIndex(
name: "IX_YourEntity_UserId",
table: "YourEntity");
migrationBuilder.DropColumn(
name: "UserId",
table: "YourEntity");
}
注意,上面的示例中假设你已经有一个名为Users的表,并且它有一个名为Id的列来表示userid。你需要根据你的实际情况进行相应的调整。
希望以上信息对你有所帮助!