Я установил Linq To Sql Profiler и заметил, что у меня выполняется двойной запрос (или я ошибаюсь).Итак:
int categoriesCount = _dataManager.PeopleTalesCategories.GetPeopleTalesCategoriesCount();
Здесь у меня первый запрос:
SELECT COUNT(*) AS [value]
FROM [dbo].[PeopleTalesCategories] AS [t0]
Затем:
IEnumerable<PeopleTalesCategory> categories = _dataManager.PeopleTalesCategories.GetAllCategories((int)ViewData["CurrentPage"] * CategoriesOnPage, CategoriesOnPage);
ViewBag.Categories = categories;
return View();
Здесь у меня второй запрос:
SELECT ...
FROM (SELECT ROW_NUMBER() OVER (ORDER BY [t0].[PositionInMenu], [t0].[NameAn]) AS [ROW_NUMBER],
...
FROM [dbo].[PeopleTalesCategories] AS [t0]) AS [t1]
WHERE [t1].[ROW_NUMBER] BETWEEN 0 /* @p0 */ + 1 AND 0 /* @p0 */ + 15 /* @p1 */
ORDER BY [t1].[ROW_NUMBER]
И самое интересное , когда я начинаю отображать свои категории в разметке HTML здесь:
@foreach (var c in ViewBag.Categories)
{
<h3><a href="/narodnie-skazki/@c.RouteNameAn">@c.NameAn</a> <span>(@c.tCountInCategory)</span></h3>
<p>@c.Description</p>
}
я получаю третий запрос, как второй.
ИтакКто-нибудь знает, почему у меня есть 3 запроса в Linq To Sql Profiler?Это нормально?
Большое спасибо.
Ссылка на профилировщик: http://l2sprof.com/