в LINQ to SQL, как бы я создать внешнее левое соединение с первым элементом правой таблицы? - PullRequest
0 голосов
/ 16 февраля 2010

У меня есть две таблицы «Заказы» и «Продукты», где «Заказы» имеют идентификатор продукта в качестве ключа forgin, Я хотел бы выбрать все товары, если у товара есть заказы, я бы хотел выбрать тот, который имеет наибольшее расстояние.

спасибо,

1 Ответ

0 голосов
/ 16 февраля 2010

Ваш вопрос кажется немного неясным. Однако я предполагаю, что в вашей таблице заказов есть столбец «расстояние». Вы хотите выбрать все товары в заказе с наибольшим значением расстояния.

var products = from p in db.Products
               select new
               {
                   ProductID = p.ProductID,
                   ProductName = p.ProductName,
                   HighestDistanceOrder = p.Orders.OrderByDescending(o => o.Distance).FirstOrDefault()
               };

Если вам нужно значение наибольшего расстояния, а не весь заказ, тогда

var products = from p in db.Products
               select new
               {
                   ProductID = p.ProductID,
                   ProductName = p.ProductName,
                   HighestDistance = p.Orders.Max(o => o.Distance)
               };

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

Matrich

...