Использование ObjectQuery Include и использование вложенного предложения where - PullRequest
2 голосов
/ 14 марта 2009

Используя структуру сущностей, я пытаюсь вернуть клиенту детали заказа, но хочу отфильтровать те заказы, которые активны.

Клиент - это наш EntityObject, который имеет коллекцию Order EntityObjects. CustomerDetails - это наш ObjectContext.

Приведенный ниже код будет прикреплять все заказы, но я хочу отфильтровать и прикрепить только те, которые активны. (Order.active == true). Как я могу это сделать?

Я знаю, что Include создает вложенный оператор запроса (я могу наблюдать с помощью .ToTraceString ().) Я надеялся присоединить предложение Where к этому вложенному оператору select или Include.

            Customer cust;
        CustomerDetails custTable = new CustomerDetails();


        cust = custTable.Customer
            .Where("it.cust_id = " + id)
            .Include("Order")  // But we only want Order.active == true!!!
            .ToList().First();

1 Ответ

0 голосов
/ 17 марта 2009

Не проверено, но может работать?

var temp = custTable.Customer.Where("it.cust_id = " + id).Include("Order");
cust = (from t in temp 
        where t.Order.active == true 
        select t).ToList().First();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...