我的Up()
中有以下内容 public override void Up()
{
try
{
Sql("drop index [IX_SalesInvoiceLine] on dbo.SalesInvoiceLines");
}
catch (Exception)
{
// ignored
}
string sql = @"CREATE UNIQUE NONCLUSTERED INDEX [IX_SalesInvoiceLine] ON [dbo].[SalesInvoiceLines]
(
[SalesInvoice_Id] ASC, [seqNo] ASC
) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]";
Sql(sql);
}
当我逐步调试调试器中的代码时,我可以单步执行每一行。
然而,当我运行迁移时,我收到一条消息
"Cannot drop the index'dbo.SalesInvoiceLines_IXSalesInvoiceLine' ,
because it does not exist or you do not have permission"
为什么会抛出此错误?
答案 0 :(得分:2)
Up程序正在向迁移提供命令以便稍后运行。 因此,try catch与此无关。