using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace VOL.Core.Migrations { public partial class init022 : Migration { protected override void Up(MigrationBuilder migrationBuilder) { // 使用原生 SQL 查询来检查表是否存在并创建表 migrationBuilder.Sql(@" IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Sys_City') BEGIN CREATE TABLE [Sys_City] ( [CityId] int NOT NULL IDENTITY, [ProvinceCode] nvarchar(50) NULL, [CityName] nvarchar(50) NULL, [CityCode] nvarchar(50) NULL, CONSTRAINT [PK_Sys_City] PRIMARY KEY ([CityId]) ); END "); // 添加列注释 migrationBuilder.Sql(@" IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Sys_City') 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_City', 'COLUMN', N'ProvinceCode'; SET @description = N'城市名称'; EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'Sys_City', 'COLUMN', N'CityName'; SET @description = N'城市Code'; EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'Sys_City', 'COLUMN', N'CityCode'; END "); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "Sys_City"); } } }