Проверяет понимание работы миграций EF Core при наличии навигационных свойств.
При добавлении NavigationProperty EF автоматически:
Создает внешний ключ (FK) в таблице
Генерирует соответствующие поля в БД
Добавляет индекс для FK (по умолчанию)
Пример модели:
public class Order
{
public int Id { get; set; }
public int UserId { get; set; }
public User User { get; set; } // Navigation property
}Сгенерированная миграция:
migrationBuilder.CreateTable(
name: "Orders",
columns: table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
UserId = table.Column<int>(nullable: false) // FK создан автоматически
},
constraints: table =>
{
table.PrimaryKey("PK_Orders", x => x.Id);
table.ForeignKey(
name: "FK_Orders_Users_UserId",
column: x => x.UserId,
principalTable: "Users",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade); // Связь создана
});
migrationBuilder.CreateIndex(
name: "IX_Orders_UserId", // Индекс создан автоматически
table: "Orders",
column: "UserId");Уровень
Рейтинг:
1
Сложность:
7
Навыки
Entity Framework
Ключевые слова
Подпишись на C# Developer в телеграм