我正在使用Entity Framework 4并使用Database First绑定,而EF并没有为我的一些表生成实体。我没有收到任何错误,无论我从设计图面的“从数据库更新模型”弹出菜单中选择要生成的表多少次,模型中仍然缺少相同的表。
我在向导中没有错误。他们只是没有生成。有线索吗?
答案 0 :(得分:9)
EF需要桌面上的主键。 EF不会映射无法找到的表或派生主键。如果所有列都可以为空,则它不能假定主键。如果一个或多个列不可为空,则EF显然会为该表派生主键。
答案 1 :(得分:3)
EF将忽略没有主键的表。
答案 2 :(得分:0)
我能想到的选项:
您是否勾选了这些表格旁边的框?
您之前添加过它们,然后删除它们的实体但是保留表的缓存吗?
如果是这样,您可以从实体浏览器窗口中删除它们并重新添加它们 或者手动添加实体并在映射窗口中定义它们映射到的表。
也许表被分类为关系而不是实体?
答案 3 :(得分:0)
当您使用具有某些不同字段类型的表时,可能是SQL Server中的层次结构。
答案 4 :(得分:0)
实际上,在我的情况下,它不起作用,因为我使用hierarchyid字段作为主键,EF不使用此字段类型,因此,它没有导入表,因为需要有效的PK。
答案 5 :(得分:0)
如果没有主键表在EF上自动跳过,其他你将值修复为非空。