Выбор количества записей из нескольких таблиц в одном запросе

c# entity-framework entity-framework-6 linq

Вопрос

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

Я знаю, как это должно быть в sql, но я не знаю, как его перевести в linq:

select
    (select count(*) from restaurants) as restaurantsCount,
    (select count(*) from shops) as shopsCount,
    (select count(*) from products) as productsCount
from
    dual

Принятый ответ

Учитывая, что dual - это фиктивная таблица с одной строкой:

var result = new 
{ 
    RestaurantsCount = context.Restaurants.Count(),
    ShopsCount = context.Shops.Count(),
    ProductsCount = context.Products.Count()
};

Решение с одним запросом :

var result = new 
{ 
    RestaurantsCount = context.Restaurants.Count(),
    ShopsCount = context.Shops.Count(),
    ProductsCount = context.Products.Count()
};



Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему