使用Linq2Sql仅选择第一级元素

时间:2010-12-28 22:15:31

标签: linq-to-sql

我有这个表结构 - >

SecretAnswer -> *1 -> SecretQuestion

当我对SecretQuestion(没有DataLoadOptions)进行查询时,它会返回带有相关SecretAnswers的对象(我认为应该延迟加载)。我只想要我的SecretAnswer,我不希望linq加载SecretAnswer的集合,没有别的。 如何实现?

编辑: 如何告诉linq为实体集集合返回空值?

2 个答案:

答案 0 :(得分:1)

默认情况下,LINQ to SQL会延迟从关联表中加载对象。它可能看起来没有,因为如果您尝试在调试器中查看延迟加载对象的属性,它可以触发获取值。

有关激活和停用延迟加载的详细信息,请参阅this page

答案 1 :(得分:0)

以下是我最终要排除显式加载的关联:

var secretQuestions = SqaManager.GetSecretQuestions();
secretQuestions.ForEach(q=>q.SecretAnsers = null);