Я создаю некоторые службы WCF, которые используют EF для запроса базы данных для данных, которые мне нужны. Проблема, которую я имею на данный момент, состоит в том, что у меня есть 2 или более запроса EF LINQ, которые объявлены и затем выполнены, чтобы вернуть мои данные ... но это серийно. Выдается один запрос EF, а затем следующий после него.Можем ли мы выполнять параллельные запросы EF LINQ?
Кто-нибудь знает простой способ для выдачи запросов параллельно? Или я смотрю на асинхронные/параллельные задачи, чтобы получить правильное поведение.
Я знаю, что DBContext не является потокобезопасным, поэтому у меня нет проблем при объявлении нескольких контекстов, если это необходимо.
код до сих пор, как показано ниже:
using (IMyContext ctx = MyFactory.GetInstance(request.UserId)) {
Response response = new Response();
response.customer = ctx.GetCustomerByAccount(request.data.Account);
response.orders = ctx.GetOrdersByAccount(request.data.Account);
response.address = ctx.GetDefaultAddressByAccount(request.data.Account);
return response;
}
Код GetCustomerByAccount, GetOrdersByAccount и GetDefaultAddressByAccount выглядит просто делает находку на DbSet, чтобы получить мои данные.
В случае, если это имеет значение, я использую EF для Oracle и используя Code First. У меня нет свойств навигации и нет ограничений между таблицами, поэтому я не могу сказать, что EF загружает меня по ордерам и адресу через ленивую загрузку, когда я запрашиваю основную запись клиента.
Спасибо заранее, Ник