2008-09-09 22 views
1

我有一个实体,其中包含很多本身,我如何映射这个在LINQ SQl,使它不会做一个无限循环得到E1然后所有的孩子然后他们的父母(e1)然后是孩子并重复?现在我知道如果将子属性设置为false,我可以做到这一点,但是这是最重要的属性(不关心父项)。有没有办法让它做延迟加载?这甚至会修复它吗?LINQ到SQL堆栈溢出与自引用实体

+0

是否使用了设计师不懒/预先加载生成的代码?这将是值得看到的DBML,并确保你实际上没有任何数据循环链接。 – DamienG 2008-09-16 00:25:19

回答

0

据我所知,LINQ to SQL在默认情况下进行延迟加载。即使没有,我敢肯定,MS的人使用某种identity map,以确保每个记录每个DataContext只加载一次。

你有没有体验到它在实践中陷入循环?

1

在设计器中,选择在图中的实体的属性,并在属性窗口中的代码生成部分,设置延迟加载

请参阅this blog post

-1

这个网站是不是对我的预先存在的偏见,原来这一个是一个不适配置的路由