|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
Здравствуйте, уважаемые форумчане. Возникла следующая, казалось бы, простая задача: вывести запись, где значение определенного поля максимальное.. У меня есть таблица: Статистика FIO string ----------- result int ---------- Я хочу средствами Linq to sql вывести запись, где значение result максимальное. Пишу на c#, вот что я пробовал: dataGridView1.DataSource = db.Statistics_rl_lv_pl.Max(x=>x.rezult); dataGridView1.DataSource = db.Statistics_rl_lv_pl.OrderByDescending(x => x.rezult).FirstOrDefault(); Не пойму, в чем может быть загвоздка.. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 18:05 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
neverend12, Max By ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 18:09 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
Axeleron, У меня не находит такого метода.. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 18:15 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
neverend12, Виноват, это метода EF не поддерживает... А в чем проблема с последним вариантом? Должно работать. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 18:28 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
А какие интерфейсы поддерживает DataSource и какой объект вернет FirstOrDefault()? Вам нужно ставить в DataSource коллекцию объектов. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 18:33 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
List<Class1> max = new List<Class1>{list.OrderByDescending(x => x.Aaa).FirstOrDefault()}; Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 18:37 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
Axeleron, Это просто Linq to sql класс, который я сформировал для того, что-бы перенести БД из ms sql server в visual studio. Метод FirstOrDefault вернет первый элемент последовательности или элемент по умолчанию...Но в том то и дело, что почему-то не хочет работать.. не пойму в чем проблема тут... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 18:38 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
neverend12, Вернет первый элемент из коллекции. Что именно не работает - запрос или DataSource? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 18:42 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
Axeleron, Спасибо! это помогло. А вы не могли бы мне еще подсказать, как это дело можно написать другим способом? На T-sql. Я пробовал так: dataGridView1.DataSource = (from r in db.Statistics_rl_lv_pl select r.rezult).Max(); Но тоже, безрезультатно ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 18:43 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
Axeleron, в моем случае не работал запрос, тк я если просто запрашивал dataGridView1.DataSource = db.Statistics_rl_lv_pl, то выводился просто весь список ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 18:45 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
neverend12, Конечно, потому что linq to sql так же как и lambda-expression вернет элемент коллекции, а Вам нужен объект, поддерживающий IList или IListSource. К тому же у Вас неправильно написан запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 18:48 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
Axeleron, Что-то я в терминологии немного запутался.. Я думал что лямбда-выражение это элемент linq to sql.. Получается это разные вещи? Т.е. конструкция from ... where.. Select это linq to sql, а точечный синтаксис - это уже другое (лямбда-выражение)? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 18:57 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
"точечный синтаксис" - текучий синтаксис - это, собственно и есть методы Linq from... where и т.п. - синтаксический сахар для удобства программиста - компилятор преобразует его в точечный синтаксис лямбда-выражение (напр. x=>x.rezult) - это делегат, это не специфично для Linq, просто используется им хорошо бы учебник почитать ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 19:04 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
neverend12, Вот Ваш запрос Код: c# 1. 2. 3. 4.
Нет, я linq to sql опрометчиво обозвал Query Expressions. Выражения linq to sql можно писать с помощью Query Expressions и Lambda Expressions. Последнее имеет более богатый и расширенный набор операторов. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 19:04 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
Axeleron, Спасибо!!..надо бы немного почитать про все это дело, а то путаюсь в терминах ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 19:13 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
Axeleron, Если вы еще не ушли.. почему-то запрос работает наоборот, т.е. выдает запись с наименьшим rezult. Я подумал, что стоит сделать OrderByDescending, но почему-то все-равно выдает наименьший резальтат ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 19:23 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
neverend12, Код: c# 1. 2. 3. 4.
Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 19:24 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
neverend12, Покажите запрос ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 19:24 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
Axeleron, Вон я выше написал запросы..Или Вы хотели результат увидеть? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 19:44 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
neverend12, Какие-то непонятные запросы. Зачем нужна группировка? Для чего смешиваете query и method синтаксис? А вообще запрос для получения значения с максимальным rezult очень простой: Код: c# 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2014, 14:17 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
PA, Тоже почему-то не работает Ваш запрос..Хотя если убрать FirstOrDefault все нормально выводится с сортировкой... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2014, 14:36 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
[quot neverend12]Тоже почему-то не работает Ваш запрос[quot] Вы бы расшифровали, что именно не работает. Попробую протелепатировать - вы забыли результат запроса в коллекцию завернуть, как вам уже здесь советовали. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2014, 14:42 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
PA, Я может чего-то не совсем понимаю... Я сделал так: Код: c# 1. 2. 3. 4.
И результат показался, к тому-же, переменная r1 имеет запись запроса, но в датагрид не попадает почему-то.... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2014, 14:42 |
|
работа с linq to sql, c#
|
|||
---|---|---|---|
#18+
neverend12, Конечно оно не попадет в грид. textBox4.Text - это как соотносится к гриду? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2014, 15:26 |
|
|
start [/forum/topic.php?fid=17&fpage=17&tid=1349660]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 244ms |
total: | 417ms |
0 / 0 |