相关疑难解决方法(0)

在Entity Framework Coded Migrations中创建全文索引

TLDR; 如何使用Entity framework 5编码迁移添加全文索引

我在使用Entity框架迁移向数据库添加全文索引时遇到问题.它需要从一开始就在那里,所以我正在尝试修改自动生成的InitialCreate迁移以添加它.

由于没有办法通过DbMigrations API来实现,我使用了在'Up'代码末尾运行内联sql.

Sql("create fulltext catalog AppNameCatalog;");
Sql("create fulltext index on Document (Data type column Extension) key index [PK_dbo.Document] on AppNameCatalog;");
Run Code Online (Sandbox Code Playgroud)

当这个运行时,一切都被创建好,直到它到达这个sql,然后它抛出sql错误' CREATE FULLTEXT CATALOG语句不能在用户事务中使用.".这是预期的,并按设计工作.

值得庆幸的是,Sql()有一个重载,允许您在迁移事务之外运行sql.真棒!我想.

Sql("create fulltext catalog AppNameCatalog;", true);
Sql("create fulltext index on Document (Data type column Extension) key index [PK_dbo.Document] on AppNameCatalog;", true);
Run Code Online (Sandbox Code Playgroud)

但是低并且看到修改代码来执行此操作(参见上文)会导致新的超时错误' 超时已到期.操作完成之前经过的超时时间或服务器没有响应."

我已经尝试吐出sql并手动运行它,它工作正常.我也在生成的sql中使用和不在事务外运行它们并且它们是相同的,因此它必须是sql执行方式.

在此先感谢您的帮助!

full-text-indexing ef-migrations entity-framework-5

13
推荐指数
1
解决办法
3171
查看次数