Выбор только первого уровня элементов с Linq2Sql - PullRequest
1 голос
/ 29 декабря 2010

У меня есть эта структура таблицы ->

SecretAnswer -> *1 -> SecretQuestion

Естественно, когда я делаю запрос для SecretQuestion (без DataLoadOptions), он возвращает обратно объект, с которым также загружены связанные с ним SecretAnswers (который, я думаю, должен загружаться с отложенной загрузкой). Мне нужен только мой SecretAnswer, я не хочу, чтобы linq загружал коллекцию SecretAnswer и ничего больше. Как это сделать?

Редактировать: Как сказать linq, чтобы он возвращал нули для коллекции наборов сущностей?

Ответы [ 2 ]

1 голос
/ 29 декабря 2010

По умолчанию LINQ to SQL задерживает загрузку объектов из связанных таблиц. Может показаться, что это не так, потому что если вы попытаетесь просмотреть свойства лениво загруженных объектов в отладчике, это может вызвать выборку значений.

См. на этой странице для получения дополнительной информации об активации и деактивации отложенной загрузки.

0 голосов
/ 29 декабря 2010

Вот что я сделал, чтобы исключить явно загруженные ассоциации:

var secretQuestions = SqaManager.GetSecretQuestions();
secretQuestions.ForEach(q=>q.SecretAnsers = null); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...