Я использую Entity Framework и пытаюсь запустить миграцию базы данных из консоли диспетчера пакетов в Visual Studio. Когда я это сделаю, я получаю следующую ошибку и трассировку стека.
Я не могу понять, что здесь происходит. Запуск оператора SQL напрямую работает нормально
Так выглядит файл миграции
ALTER TABLE [dbo].[TableName] ADD [ColumnName] [bit] NOT NULL DEFAULT 0
Если я затем закомментирую содержимое Up()
в файле миграции, я смогу успешно запустить (пустую) миграцию.
public partial class MigrationName : DbMigration
{
public override void Up()
{
AddColumn("dbo.TableName", "ColumnName", c => c.Boolean(nullable: false));
}
public override void Down()
{
DropColumn("dbo.TableName", "ColumnName");
}
}
Кроме того, если я запускаю все миграции, включая эту, с пустой базой данных, все работает нормально. Таким образом, существует некоторая проблема с данными, которая вызывает ошибку (что ожидается, учитывая сообщение об ошибке).
Я попытался посмотреть на SQL Server Profiler, чтобы попытаться выяснить, какой SQL выполняется, но ничего не отображается.
У меня есть около 20 других миграций, которые хорошо работали до этого момента, но эта и предыдущая постоянно выдают эту ошибку.
Кто-нибудь знает, в чем может заключаться основная проблема, или как я могу получить дополнительную информацию о том, что идет не так?
В моей строке подключения было установлено 1 wrapCloseInAction) at
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException
exception, Boolean breakConnection, Action
. Удаление этого из строки подключения решило проблему.