Entity Framework Core 6 迁移包执行错误
Posted
技术标签:
【中文标题】Entity Framework Core 6 迁移包执行错误【英文标题】:Entity Framework Core 6 Migration Bundle Execution Error 【发布时间】:2022-01-07 12:18:38 【问题描述】:我正在尝试使用新的 EF Core 迁移包来更新我的数据库架构。
我使用以下方法创建了捆绑包:
dotnet ef migrations bundle --self-contained --runtime linux-x64
但是当我尝试使用以下方式更新数据库时:
./efbundle --connectionString $MY_CONNETION_STRING
甚至通过以下方式获得帮助:
./efbundle --help
我收到以下错误:
./efbundle: 重定位错误: ./efbundle: 符号 nanosleep 版本 GLIBC_2.2.5 未在文件 libpthread.so.0 中定义链接时间参考
但是,如果我将 efbundle
文件移动到 publish
目录,一切似乎都正常。
所以我的问题是:我是否总是必须将efbundle
文件放在publish
文件夹中?或者我可以将它放在任何地方并将迁移应用到数据库,因为它是一个独立的可执行文件?
如果不是,使用迁移包有什么意义?
【问题讨论】:
我不确定,但我怀疑它需要您的应用程序 DLL 作为上下文。--self-contained
删除了框架部署的要求,如果您想在构建时提供单个文件,您还需要提供另一个参数,例如:/p:PublishSingleFile=true
,因此您需要将其复制到发布文件夹或一起复制所需的 DLL。
我发现只有在使用 snap 安装 SDK 时才会出现问题。使用 APT 安装按预期工作。我认为问题出在 snap 上。
【参考方案1】:
好的。我已经使用 snap 在我的 Ubuntu 机器上安装了 DotNet SDK。 但是在我用 apt 重新安装它之后,它现在可以在任何地方工作。 似乎问题出在 snap 安装上(我之前也遇到过其他 EF 问题)。 但我仍然不确定是否有可能/如何解决 snap 安装的问题。
【讨论】:
以上是关于Entity Framework Core 6 迁移包执行错误的主要内容,如果未能解决你的问题,请参考以下文章
Entity Framework Core 6 迁移包执行错误
如何为 ASP.net Core 配置 Entity Framework 6
Entity Framework Core 6.0 中的新功能介绍
Entity Framework Core 6.0 中的新功能介绍