gpt4 book ai didi

entity-framework - EF DBFirst,表从模型中删除

转载 作者:行者123 更新时间:2023-12-04 08:57:23 28 4
gpt4 key购买 nike

在我的 EF 数据库优先 EDMX 模型中发生了一些奇怪的事情。
我想在数据库中进行一些更改后更新模型。
更新操作删除了未收到任何更改的表。该表在模型中存在很长时间,从未出现任何问题。

显然,我收到错误 11007:未映射实体类型“MyTable”。

我尝试了几件事:

  • 不保存就关闭 EDMX,重试:同样的问题。
  • 重做“从数据库更新模型”,选中已删除表前面的框......但它没有被添加到模型中(?)
  • 关闭 Visual Studio,重试:同样的问题。
  • 在另一个 EDMX 中尝试(我在解决方案中有 5-6 个模型,都链接到同一个(大)DB):那里的表没有被删除(!)
  • 重命名数据库中的表:使用新名称添加它。
  • 从链接到该表的所有内容中清除 EDMX 的 XML,重试更新:无效。

  • 什么可能导致特定表未添加到特定 emdx 模型文件中?这对我来说似乎是一个错误。

    注意。在删除表之前,它会列在“从数据库更新”向导的“刷新”选项卡中。

    VS 2017 15.4.2(在问题出现前一天完成的最后一次更新......?)

    编辑 - 更多信息:
    该表被命名为“DocumentStatuses”并由两列组成。
    CREATE TABLE [cov].[DocumentStatuses](
    [Id] [int] NOT NULL,
    [Label] [varchar](50) NOT NULL,
    CONSTRAINT [PK_DocumentStatus] PRIMARY KEY CLUSTERED ( [Id] ASC )
    WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]

    DocumentStatus 实体将 Id 列映射到枚举。在出现此问题之前,它一直工作正常(但对于其他 2 个实体数据模型,它继续正常工作)。

    编辑 2

    我要为这个错误发疯了。它突然出现在同一个 edmx 中,用于其他 5 个彼此没有链接的表。
    我试图用另一个名字创建另一个 EDMX,它有同样的错误。
    我试着一一添加表格,突然,问题出现了。无论我添加哪个表,模型中存在的其他 5 个表都会消失,我收到错误 11007。

    如果有人有最微小的想法,那真的很受欢迎。

    编辑 3

    我创建了一个新的解决方案,将我的表添加到一个新的实体数据模型中……但问题仍然存在。 EF 拒绝映射表。
    当我们执行“从数据库更新”时,VS 是否创建了一些日志? .

    下一步我将尝试创建一个 VM 并尝试使用它。

    最佳答案

    我通过重命名数据库中的表“解决”了这个问题。
    这只是一种解决方法,但这是我能想到的全部。

    关于entity-framework - EF DBFirst,表从模型中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47133193/

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