2010-09-05 85 views
9

我在我的项目中创建了一个dbml文件,然后将两个表从数据库拖入设计器。这是订单标题和订单行的表格,订单行有一个外键来订购标题以使其成为一对多的关系。LINQ to SQL在dbml文件中生成关联的问题

只要将两个表格拖动到设计器上,关联箭头就会出现,并且一切看起来都正确。在关联的属性中,Child Property设置为True,Access为public,继承模式为(none),Name为OrderLines(原来是taOrderLines,但由我编辑称为OrderLines。

问题是, OrderLines属性创建的。我手动检查中产生的CS文件还,既不字OrderLines或协会发现存在。

我在做什么错在这里?

+0

我现在有两次这个问题,不知何故,当找一个解决方案(至少不是第一次)时,我无法找到这个问题。问题文本本身很好,但问题的名称有点宽泛,很难确定这是正确的问题。因此,我最终只是在试图写我自己的时候才发现这个问题(我猜基于文本的搜索很好)。我写的未经质询的问题题为“关联表不能从模型访问”。 – jahu 2014-08-12 12:23:07

回答

22

确保每个类都有一个主键。


如果您的对象在dbml中没有主键属性,则LinqToSql对象跟踪无法看到这些对象,并且不会生成关系属性。

+0

这实际上是问题所在。我甚至没有考虑过我正在处理的数据库没有设置正确的主键。 OrderLines表没有主键。主键创建后,按预期工作。 – 2010-09-06 22:06:11