gpt4 book ai didi

c# - 映射到已存在的数据库列

转载 作者:行者123 更新时间:2023-12-02 00:33:10 25 4
gpt4 key购买 nike

我们有一个使用 Entity Framework 6.0 创建的应用程序,并使用 Code First 来创建数据库架构。 DBA 在生产环境中在现有表上创建了一个新列,并希望我们映射到它。

查看 Entity Framework 4.1 code first mapping to already existing database table我看到提到使用Ignore,但我们希望映射该字段;我们只是不想创建它。

最坏的情况是,我们将让 DBA 将列值复制到新的临时列,首先以传统方式使用代码创建它,然后将其复制回来。不过,如果可能的话,我们宁愿让代码首先处理它。理想情况下,如果该列不存在,它将在 dev/test/uat 环境中创建该列,但不会在生产中删除它。

最佳答案

根据上面的评论,我知道你可以采取什么措施来解决这个问题:

  1. 确保您的 POCO 具有已添加到表格中的列

  2. 转到 NuGet 的程序包管理器控制台并运行 add-migration。这将生成一个手动迁移文件,其中包括它检测到需要存在的数据库的一些更改。

  3. 删除 UpDown 方法中的所有内容。只需为它们保留签名和空方法即可。

  4. 最后,在启用 MigrateDatabaseToLatestVersion 初始值设定项的情况下运行您的应用。此后您应该不会看到任何错误。

我以前也遇到过同样的问题,每次都解决了。我不知道为什么微软要这样工作,但我猜这就是 cookie 崩溃的方式。

关于c# - 映射到已存在的数据库列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27448007/

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