C# лямбда-выражение с подзапросом - PullRequest
0 голосов
/ 08 января 2020

Мне нужно преобразовать следующий оператор SQL в лямбда-выражение, чтобы мое приложение C# могло получить доступ к данным с использованием структуры сущностей. Я пытаюсь реализовать подзапрос в лямбда-выражении. Оператор SQL имеет вид

SELECT columnName1
FROM tableName
WHERE columnName2 = (SELECT MAX(columnName2) FROM tableName)

. В лямбда-выражении я знаком с .Select () и .First (), но не могу получить синтаксис, совершенно подходящий для .Where (), когда он должен ссылаться на подзапрос.

1 Ответ

1 голос
/ 08 января 2020

Предполагая, что tableName является IEnumerable<T>, где T имеет членов columnName1 и columnName2, а columnName2 - десятичное, целое, число с плавающей запятой, long или double:

tableName
   .Where(row => row.columnName2 == tableName.Max(row => row.columnName2))
   .Select(row => row.columnName1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...