我们为我的数据访问层启用了一些 POCO 类和迁移,我们创建了一个初始迁移到 - 备注我们使用 CreateDatabaseIfNotExist 数据库初始化。
但是在数据库中我想要一个使用 SQL Filestream 的 MessageBody 字段,因为 Filestream 的 EF 限制 - 我们尝试在迁移脚本中手动执行。
在那里我们执行以下 sql 命令。
Sql("alter table [msg].[Message] add [MessageBody] varbinary(max) FILESTREAM not null");
但我必须设置文件流选项
所以我想在迁移期间/之前执行以下命令。
ALTER DATABASE CURRENT SET FILESTREAM ( NON_TRANSACTED_ACCESS = FULL)
但是当添加这个bedore创建表时,我得到错误:多语句事务中不允许ALTER DATABASE语句。
当您想自动创建数据库时,调整数据库选项的最佳方法是什么?是否可以在进程执行实际迁移之前拦截迁移过程以执行一些sql?