gpt4 book ai didi

database - 在 EF 迁移期间更改数据库选项

转载 作者:搜寻专家 更新时间:2023-10-30 20:04:25 25 4
gpt4 key购买 nike

我们为我的数据访问层启用了一些 POCO 类和迁移,我们创建了一个初始迁移到 - 注意我们使用 CreateDatabaseIfNotExist 数据库初始化。

但在数据库中,我希望有一个使用 SQL 文件流的 MessageBody 字段,因为 EF 对文件流的限制 - 我们尝试在迁移脚本中手动完成。

我们执行以下 sql 命令。

Sql("alter table [msg].[Message] add [MessageBody] varbinary(max) FILESTREAM not null");

但我必须设置文件流选项 Filestream options

所以我想在迁移期间/之前执行以下命令。

ALTER DATABASE CURRENT SET FILESTREAM ( NON_TRANSACTED_ACCESS = FULL)

但是在创建表时添加这个时我得到错误:多语句事务中不允许 ALTER DATABASE 语句。

当您想自动创建数据库时,调整数据库选项的最佳方式是什么?是否可以在进程执行实际迁移之前拦截迁移进程以执行一些 sql?

最佳答案

要修复发生在您身上的错误,您只需调用 Sql 方法并将附加的 bool 参数设置为 true:

Sql("alter table [msg].[Message] add [MessageBody] varbinary(max) FILESTREAM not null", true);

这将导致您的查询将在单独的事务中执行。

关于database - 在 EF 迁移期间更改数据库选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29558443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com