我的列上还存在一个默认约束,因此得到以下结果:
public override void Up(){ Sql(@"IF EXISTS( SELECt 1 FROM sys.columns c INNER JOIN sys.tables t ON t.object_id = c.object_id WHERe c.name = 'AttributeId' AND t.name = 'MyObjects') BEGIN DECLARE @AttributeIdDefConstraint nvarchar(128) SELECt @AttributeIdDefConstraint = name FROM sys.default_constraints WHERe parent_object_id = object_id(N'dbo.MyObjects') AND col_name(parent_object_id, parent_column_id) = 'AttributeId'; IF @AttributeIdDefConstraint IS NOT NULL BEGIN EXECUTE('ALTER TABLE [dbo].[MyObjects] DROP ConSTRAINT ' + @AttributeIdDefConstraint) END ALTER TABLE [dbo].[MyObjects] DROP COLUMN [AttributeId] END");}希望可以节省时间。



