我有一个实体框架4模型优先的设计。我在设计器中创建了模型的第一个草稿,一切都很好。我编译,生成数据库,等等。
后来,我尝试将字符串标量(Nullable = true)添加到现有实体之一,但在编译时不断收到这种类型的错误:
错误3004:从第569行开始映射片段时出现问题:没有为Set MyEntities中的属性MyEntity.MyValue指定映射。当: Entity为MyEntities.MyEntity类型时,具有键(PK)的实体不会往返
每次添加标量时,我都必须手动打开EDMX文件并更正XML。
关于发生了什么的想法?
发布于 2010-06-10 06:06:26
后来我发现,在我添加/更改/删除实体的属性之后,我必须在编译之前“从模型生成数据库”,否则我会得到3004个映射错误。
发布于 2011-06-25 07:53:14
我只是从模型中删除了有问题的表,然后将它们添加回来,一切都很正常。
发布于 2012-08-14 21:21:51
对于那些正在从数据库创建模型的人来说,我在对数据库进行更改后遇到了这个问题。当我出于这样或那样的原因在数据库中更改了字段名时,就会发生这种情况(我认为如果更改数据类型也会发生这种情况)。
对我来说,解决方案是右键单击工作区,然后选择“从数据库更新模型”。这应该会将属性从DB添加到您的模型中,但是,它不会删除您的旧属性,这些属性会给出3004错误。
在工作区上单击鼠标右键,然后选择“验证”。这将为您提供一个错误列表,其中显示了有问题的属性。然后,您可以右键单击每个有问题的属性,并手动将其从模型中删除。
这为我解决了这个问题。希望这对其他人有帮助。
https://stackoverflow.com/questions/3002082
复制相似问题