EF DBFirst,表格从模型

时间:2017-11-06 09:04:33

标签: entity-framework visual-studio-2017 ef-database-first

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

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

我尝试了几件事:

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

什么可能导致特定的表没有添加到特定的emdx模型文件中?这个似乎就像是我的错误。

NB。在删除表之前,它将在“从DB更新”向导的“刷新”选项卡中列出。

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

我对这个bug很疯狂。在同一个edmx中突然出现了另外5个没有相互关联的表格。 我试图用另一个名字创建另一个EDMX,它也有同样的错误。 我试图逐个添加表格,然后突然出现问题。无论我添加哪个表格,模型中出现的其他5个表格都会消失,我得到错误11007.

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

编辑3

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

下一步我将尝试创建一个虚拟机并尝试使用它。

1 个答案:

答案 0 :(得分:0)

我创建了" separator"名称由20个下划线组成的表。像这样:架构._________________________

所以我有"分隔符"在我的SSMS模式之间。当然没有映射这些虚拟表。 我删除了他们......问题消失了! 这个 一个错误,我报告了它:

https://github.com/aspnet/EntityFramework6/issues/418