using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace VOL.Core.Migrations { public partial class init023 : Migration { protected override void Up(MigrationBuilder migrationBuilder) { // 使用原生 SQL 查询来检查表是否存在并创建表 migrationBuilder.Sql(@" IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Sys_District') BEGIN CREATE TABLE [Sys_District] ( [DistrictId] int NOT NULL IDENTITY, [CityCode] nvarchar(50) NULL, [DistrictCode] nvarchar(50) NULL, [DistrictName] nvarchar(50) NULL, CONSTRAINT [PK_Sys_District] PRIMARY KEY ([DistrictId]) ); END "); // 添加列注释 migrationBuilder.Sql(@" IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Sys_District') BEGIN DECLARE @defaultSchema AS sysname; SET @defaultSchema = SCHEMA_NAME(); DECLARE @description AS sql_variant; SET @description = N'城市Code'; EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'Sys_District', 'COLUMN', N'CityCode'; SET @description = N'区县Code'; EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'Sys_District', 'COLUMN', N'DistrictCode'; SET @description = N'区县名称'; EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'Sys_District', 'COLUMN', N'DistrictName'; END "); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "Sys_District"); } } }