我试图通过执行自定义Sql使用Entity Framework Migration创建FULL TEXT索引.
我的迁移类看起来像这样:
public partial class DocumentContentFullTextIndex : DbMigration
{
public override void Up()
{
AlterColumn("dbo.Attachments", "ContentType", c => c.String(maxLength: 260));
Sql("CREATE FULLTEXT CATALOG FullTextIndexes AS DEFAULT;", true);
Sql(@"CREATE FULLTEXT INDEX ON [Attachments](
Content
TYPE COLUMN ContentType
Language 'ENGLISH'
)
KEY INDEX [PK_dbo.Attachments]
ON FullTextIndexes;", true);
}
public override void Down()
{
AlterColumn("dbo.Attachments", "ContentType", c => c.String(maxLength: null));
Sql("DROP FULLTEXT INDEX ON [Attachments]");
Sql("DROP FULLTEXT CATALOG FullTextIndexes");
}
}
Run Code Online (Sandbox Code Playgroud)
当我从MSSQL管理工作室运行它时,一切都很完美,SQL完全符合我的预期.
但是当从迁移项目运行时,第二个Sql请求会触发异常
超时已过期.操作完成之前经过的超时时间或服务器没有响应.
带-Verbose标志的完整堆栈跟踪:
Update-Database -ConnectionStringName DatabaseContext -Verbose
Using …Run Code Online (Sandbox Code Playgroud) full-text-indexing sql-server-2012 ef-migrations entity-framework-6