#linq #linq-to-sql
#linq #linq-to-sql
Вопрос:
Ситуация такова, что у меня есть таблица, в которой есть, например, 10 строк. Я хочу вычислить значение столбца «цена» и хочу выбрать полную строку, которая имеет МАКСИМАЛЬНУЮ цену.
var offer = (from p in dc.CustomerOffer
join q in dc.OffersInBranch
on p.ID equals q.OfferID
where q.BranchID == singleLoc.ID
select (p.OriginalPrice - p.NewPrice) * 100 / p.OriginalPrice).Max();
Приведенный выше код дает мне только МАКСИМАЛЬНУЮ цену, как бы я выбрал всю строку.
Есть идеи, ребята??
Ответ №1:
Попробуйте следующий код :
var offer = (from p in dc.CustomerOffer
join q in dc.OffersInBranch
on p.ID equals q.OfferID
where q.BranchID == singleLoc.ID
let value = (p.OriginalPrice - p.NewPrice) * 100 / p.OriginalPrice
order by value desc
select p).First()
Примечание: Это фиктивный код, и он может быть синтаксически некорректным. Возможно, вам придется настроить запрос в соответствии с вашими требованиями.