#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