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