在我的EF数据库-第一EDMX模型中发生了一些奇怪的事情。在对DB做了一些更改之后,我想更新模型。update操作删除了一个没有收到任何更改的表。那张桌子在模型中存在了很长一段时间,从来没有任何问题。
显然,我得到了错误11007 :实体类型'MyTable‘没有映射。
我试过几件事:
是什么原因导致特定的表不被添加到特定的emdx模型文件中?对我来说这好像是个虫子。
注意:在删除该表之前,它将在“从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
我要和这个虫子疯了。在相同的edmx中,它突然出现在其他5个彼此不相连的表中。我尝试用另一个名称创建另一个EDMX,它有相同的bug。我试着一个接一个地增加桌子,突然出现了问题.不管我添加的是什么表格,模型中存在的其他5个表都会消失,我得到的误差是11007。
如果任何人有最微小的想法,这是真正的欢迎。
编辑3
我创建了一个新的解决方案,将我的表添加到一个新的实体数据模型中.问题依然存在。EF拒绝绘制表格。,当我们执行“从数据库更新”?时,VS是否创建了一些日志?
下一步,我将尝试创建一个VM并在其中进行尝试。
发布于 2017-12-01 10:40:30
我创建了带有20个下划线的名称的“分隔”表。像这样: schema._________________________
因此,我在SSMS中的模式之间有“分隔符”。当然,这些虚拟表没有映射。我把它们取了然后..。问题消失了!这个是的一个bug,我报告了它:
发布于 2017-11-27 14:02:47
我通过在数据库中重命名表来“解决”了这个问题。这只是一个解决办法,但这是我唯一能想到的。
https://stackoverflow.com/questions/47133193
复制相似问题