我会考虑它是自我引用表的linq2sql错误的可能性。这是一个疯狂的猜测,但我记得linq2sql文档在某处说它不支持它。也许那里的linq2sql设计师感到困惑。
从您发布的生成的属性中,您可以告诉它向后,即CandyBar指向美味,而不是相反。查看生成的代码以了解正常工作的其他关系。
一旦你确认它不起作用,并且通过在设计器中重新添加它们没有正确设置它们,在设计器中打开工作关联的属性,并确保在candybar和deliciouscandy之间配置关联同样的方式。
请尝试这个替代方案:
插入实例 CandyBar 没有孩子 DeliciousCandyBar 对象,然后调用 SubmitChanges() 方法。
CandyBar
DeliciousCandyBar
SubmitChanges()
假设你有一个ID或GUID链接这两个对象 - 比方说, CandyBarID 。然后设置值 CandyBarID 在...上 DeliciousCandyBar 实例到实例的实例 CandyBar 。
CandyBarID
然后你可以插入 DeliciousCandyBar 对象,因为 CandyBarID 已设定,选择时关系应正确 CandyBar 对象。