У меня есть таблица заказов. Заказ может иметь несколько элементов в нем, причем каждый товар отправляется в разное время. Я хочу получить список всех Заказов, которые исключает частично отправлены или заказы. Другими словами, мне нужно получить список всех заказов, которые полностью отправлен. Я знаю, как это сделать в T-SQL. Но я пытаюсь выполнить это с помощью LINQ-to-Entities (EF4/.Net 4.0/C#).LINQ to Entities - предложение WHERE, чтобы исключить частично отправленные заказы в моем примере
Рассмотрим следующие данные:
PK OrderID Item Status
1 00001 TV Shipped
2 00001 TABLET Shipped
3 00002 BLURAYPL Not Shipped
4 00002 MOBILEPH Shipped
5 00002 XBOX Shipped
6 00003 PAPER Shipped
7 00003 PENCIL Shipped
Цель должна получить 00001 и 00003 в качестве вывода.
Вот что я до сих пор, очевидно, упрощен:
using (MyDBEntities dbcontext = new MyDBEntities())
{
var WashingtonClients = from a in dbcontext.CustomerMasterTable
where a.City == "Washington"
select a.CustomerID;
var ShippedOrdersToWashingtonClients = from o in dbcontext.OrderDetail
where WashingtonClients.Contains(o.CustomerID)
&& o.Status.ToUpper() == "SHIPPED"
//how to exclude Partially Shipped orders here???
select o.OrderID;
}
Как кадр второго запроса таким образом, что исключает заказы, которые имеют хотя бы один элемент неотправленного в нем? Большое спасибо за ваше время.
Возможно ли это с Синтаксис запросов? – FMFF
№ 'Все' не имеет аналогового запроса. – WarHog
Вы только что спасли меня от написания очень сложной хранимой процедуры. Большое спасибо. – FMFF