实体5/6模型第一:我是否必须手动映射实体?

Bri*_*haw 8 .net entity-framework

当我第一次创建我的.edmx时,我添加了一个实体.然后,我选择"从模型生成数据库"并成功创建了我的数据库,并使用该单个实体/表和一些虚拟数据进行了一些测试.

我正在再次研究我的模型,并且我添加了许多其他表和关联.当我选择"从模型生成数据库"时,我会收到很多关于未映射的内容的错误(包括我原始实体上的新标量属性),以及显示以下错误的消息框:

类型'System.Data.Entity.Core.Metadata.Edm.EdmItemCollection'的表达式不能用于返回类型'System.Data.Entity.Core.Metadata.Edm.EdmItemCollection'.

为什么第一次使用单个实体生成数据库(没有我明确声明表或列的任何映射),而不是在原始之后添加多个实体?我是否需要手动映射所有内容(似乎不太可能,但我必须遗漏一些东西)?

Dal*_*ale 28

我在EF6中遇到了同样的错误

Expression of type 'System.Data.Entity.Core.Metadata.Edm.EdmItemCollection' cannot be used for return type 'System.Data.Entity.Core.Metadata.Edm.EdmItemCollection'.
Run Code Online (Sandbox Code Playgroud)

保存并重新启动Visual Studio为我修复了它.

  • 它就像一个魅力...废话:) (4认同)
  • 好吧,那不是很明显.但这个解决方案成功了.谢谢你,先生 :) (2认同)

Bri*_*haw 2

虽然我不确定为什么会这样,但我从数据库进行了更新,然后莫名其妙地,更新另一种方式又起作用了。如果后续的答案能够更详细地解释原因,我将不胜感激。