小编Mik*_*Mik的帖子

EF DBFirst,表已从模型中删除

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

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

我尝试了几件事:

  • 关闭EDMX而不保存,然后重试:同样的问题。
  • 重做“从数据库更新模型”,选中已删除表前面的框...但是它没有添加到模型中(?)
  • 关闭Visual Studio,然后重试:同样的问题。
  • 尝试使用另一个EDMX(解决方​​案中有5-6个模型,所有模型都链接到相同的(大)数据库):那里的表没有被删除(!)
  • 重命名数据库中的表:使用新名称添加该表。
  • 从链接到该表的所有内容中清除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]
Run Code Online (Sandbox Code Playgroud)

DocumentStatus实体将Id列映射到枚举。在出现此问题之前,它一直运行良好(但是对于其他2个实体数据模型,它仍然可以正常运行)。

编辑2

这个错误让我发疯。在同一edmx中,突然出现了其他五个彼此不链接的表。我试图用另一个名称创建另一个EDMX,它具有相同的错误。我试图一张一张地添加表,突然出现了问题。无论我添加哪个表,模型中存在的其他5个都将消失,并且出现错误11007。

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

编辑3

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

我要尝试的下一步是创建VM并尝试使用它。

entity-framework ef-database-first visual-studio-2017

5
推荐指数
1
解决办法
213
查看次数