внутреннее объединение entityframework

#c# #linq #entity

#c# #linq #сущность

Вопрос:

Я пытаюсь объединить клиентов, заказы, детали заказа и продукты

Я использовал следующее для генерации запроса внутреннего соединения

 IQueryable<Customer> CustomerList = ent.Customer
                                     .Include("orders").Include("orders.orderdetails")
                                      .include(orders.orderdetails.products)    
  

Мне нужно сгенерировать внутреннее соединение с этими таблицами, чтобы я мог проверить фамилию и имя в предложении where, но это генерирует левое внешнее соединение.

Как сгенерировать внутреннее объединение с этими таблицами

Спасибо

Комментарии:

1. Если вы установите для LazyLoadingEnabled значение true, вам не нужно будет выполнять все эти включения. Упрощает. Однако при больших объемах данных отложенная загрузка может быть намного медленнее.

Ответ №1:

 var query = from OrdersDetails od in ent.OrdersDetails
            select new {
                od.Orders.Customers.FirtsName,
                od.Orders.OrderDate,
                ....
            }
  

Надеюсь, это поможет.

Ответ №2:

попробуйте это

             var v = from en in context.Entity
                let leftouter = (from pa in en.PostalAddress
                                 select new
                                 {
                                     pa.PostalAddressID
                                 }).FirstOrDefault()
                select new
                {
                    EntityID = en.EntityID,
                    PostalAddressID = (Guid?)leftouter.PostalAddressID,
                };
  

ссылка из http://geekswithblogs.net/SudheersBlog/archive/2009/06/11/132758.aspx