LINQ-to-SQL - когда он обращается к базе данных? - PullRequest
1 голос
/ 08 февраля 2011

В моем приложении asp.net mvc 2 у меня есть действие, которое довольно сильно загружает данные.Я использую linq-to-sql для запросов, используя шаблон репозитория.Когда я проверяю выполнение действия в профилировщике SQL Server, я обнаруживаю, что выполняется около 60 запросов.Мой вопрос - и я надеюсь, что в вопросе достаточно информации, чтобы ответить на него - выполняет ли asp.net mvc полный обход, обратно и четвертую, к базе данных, для каждого запроса или из-заиспользование linq, на самом деле есть только одна поездка туда и обратно?

Ответы [ 2 ]

2 голосов
/ 08 февраля 2011

Я полагаю, что это один раунд на запрос, будь то запрос LINQ или необработанный SQL. Я полагаю, это зависит от того, что вы подразумеваете под «каждым запросом».

Чтобы ответить на ваш комментарий выше:

var result = LINQ; <--- Запрос генерируется, но не выполняется </p>

foreach (YourDataType ydt в результате) {<--- Запрос выполняется, когда вы что-то делаете с результатом </p>

...

}

1 голос
/ 08 февраля 2011

Это зависит от того, как выглядит ваш Linq.Насколько я понимаю, когда ваш набор результатов перечисляет, вы попадете в базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...