为什么会出现此错误:没有为以下EntitySet / AssociationSet-Entity1指定映射?
|
我正在使用带有Model First方法的Entity Framework 4。
我开始了该项目,设计了实体并生成了数据库。一切正常。
然后,我需要回去向模型添加另一个实体。但是,当我将实体拖动到EDMX时,出现以下错误:
好的!我只需要将Entity1映射到表即可。但是,嘿!我正在使用“模型优先”方法,我希望它在生成DDL时为我创建表。
如何解决此错误?
没有找到相关结果
已邀请:
15 个回复
搁手
上下文菜单项时,情况会改变。令人困惑的是,此操作的作用不只是生成DDL脚本。实际上,它会更改EDMX文件以包含SSDL信息。从这一点开始,EDMX文件将进入一种状态,其中设计器/ CSDL中的每个实体都必须映射到SSDL中的一个实体。如果未映射,将触发编译时错误: 没有为以下EntitySet / AssociationSet指定映射-(EntityName) 另一个有趣的事实是,不是那种会阻止编译的错误。实际上,它将生成输出类库。这不是警告吗? 为防止该错误,在插入新实体后,您要做的只是再次为“ 0”。这将更新SSDL并修复映射。 编辑 如果您没有使用“模型优先”,而是“从数据库更新”,则在删除DB Server中的表的情况下也会出现此错误。这是因为实体框架不会自动为您删除实体。手动删除实体,错误将消失。
缮记箔
姬第柔炒
喷乡顾沥沪
缕嚏冻
凸晴
舜辉
和
)。关于这两个实体的某些信息使处理过程混淆了。 删除表并重新添加以修复它。 请注意,如果挂接了TFS,则在删除后对edmx进行检入。然后,只有这样,才能获取最新信息,并通过明确的两步过程将其重新添加。否则,TFS会与相同名称实体的删除和重新添加混淆,这似乎会引起问题。
览幕堤分
方法的人,在插入新实体后,您只需要做的是再次右键单击
文件并选择
至to0ѭ。
诞胃
补蹲农界维
和
输入您的映射无法识别的实体名称。 删除所有与问题相关的文件。这些名称可能以相同的缺失实体命名。请勿删除文件上带有您的上下文类名称的任何文件,尤其是其扩展名是.cs或.tt时。在上下文.cs文件中。 删除所有引用缺少的实体的代码行。它们将如下所示:
从数据库删除的表常见此错误。 当一个人在数据库中删除一张表,或者只是更改EF Mapped数据库的ѭ11时,就指向一个新表,而不是用于生成原始映射的那个。 正是这个新的数据库不存在带有3027错误的这些实体。
蜗仓馈
温拎凯玛
舜辉
坝硷操
鞘垒飘