Работает ли Linq to Entities Включить между вызовами? - PullRequest
1 голос
/ 30 июля 2010

Если у меня есть что-то вроде этого:

x = from f in first.Include("second")
    where f.id == 1
    select f

y = from s in second
    where s.first.id == 1
    select s

Будут ли отправлены два запроса в мою базу данных? Я понимаю, что могу просто установить y = f.second, чтобы гарантировать, что будет выполнен только один вызов, но я часто хочу разложить код так, чтобы я мог выполнить второй вызов независимо от того, сделал ли я первый - необходимость сделать перегрузка, через которую вы можете передать в секунду, раздражает.

1 Ответ

1 голос
/ 30 июля 2010

Предполагая, что вы перечислите запросы, будет сделано два вызова.

но я часто хочу разделить код так, чтобы я мог сделать второй вызов независимо от того, сделал ли я первый

У вас есть причина, почемухотите сохранить запросы отдельно?Вы написали два одинаковых запроса.Вы уже получили все необходимые данные в запросе x.Вам не нужно делать второй запрос, потому что вы можете просто сделать

 x.Seconds;
 //or if there is more than one result in x
 x.SelectMany(y=>y.Seconds);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...