所以我在我的项目中创建了一个dbml,它有三个表:Elements,ElementImages和Images。每个Element记录可以有多个ElementImage记录,每个ElementImage记录应该有一个Image记录。主键和外键都已正确设置,并且关联也正确定义。那么为什么我看不到每个对象的集合呢?我希望Element让集合ElementImages和ElementImage具有Image属性 - 但是我的Intellisense中没有出现这些属性。我已经多次删除并重新创建了dbml,即使在其他表上也无济于事。
答案 0 :(得分:1)
从“服务器资源管理器”面板拖动时,我从未遇到此问题。
我们使用bigint作为我们的PK / FK所以我不能说Guids是否会给你带来麻烦。您可以尝试使用相同的步骤,使用bigint / long作为PK来查看它是否适合您。
当我以为我在数据库表上设置外键但实际上已经忘记时,我才遇到过这种情况。在Server Explorer中,很难一目了然。如果它们设置正确,您应该在设计图面上的表格之间看到箭头。如果你没有立即看到箭头,我怀疑你的FK设置不正确。
使用“属性”面板,您可以修改关联属性的可见性。单击箭头本身可以使用“属性”面板修改父/子属性。我通常禁用子属性,但是您只能将父属性的可见性限制为内部属性。我建议检查这些以确保它没有被禁用或其可见性设置低于您的预期。
答案 1 :(得分:0)
数据库字段的字段类型是什么? L2S不支持某些功能。当你进入dbml表面时,它们是否会出现在表格中?
答案 2 :(得分:0)
父表或子表上缺少主键会导致此问题。
如果数据库中存在主键但设计器中未将字段标记为主键,只需右键单击该字段,单击属性并确保“主键”设置为true。在desinger创建关联之前,需要在桌面上至少标记一个字段。