powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / linq to sql. рандомная сортировка
24 сообщений из 24, страница 1 из 1
linq to sql. рандомная сортировка
    #39806302
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот так сортировка всегда одинаковая
Код: c#
1.
2.
DataContext context = new DataContext(Config.Connections.app);
var res = context.GetTable<Models.Comment>().Where(c => (bool)c.Published).OrderBy(c => Guid.NewGuid());



вот так норм
Код: c#
1.
2.
3.
DataContext context = new DataContext(Config.Connections.app);
var res = context.GetTable<Models.Comment>().Where(c => (bool)c.Published).ToList();
res = res.OrderBy(r => Guid.NewGuid()).ToList();



что в первом варианте не правильно?
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806307
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В первом варианте сортировка на сервере, во втором уже на клиенте. Дальше уже просто можно посмотреть, что там за запрос на сервер передается в первом случае. Подозреваю, что это какая-то фича старого LINQ 2 SQL и там на сервер отправляется просто один и тот же GUID, хотя, мне кажется, что в случае EF должно быть все норм.
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806308
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatВ первом варианте сортировка на сервере, во втором уже на клиенте. Дальше уже просто можно посмотреть, что там за запрос на сервер передается в первом случае. Подозреваю, что это какая-то фича старого LINQ 2 SQL и там на сервер отправляется просто один и тот же GUID, хотя, мне кажется, что в случае EF должно быть все норм.
я тож так подумал)
вопрос снят
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806337
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас любопытства ради проверил - Entity Framework уже достаточно умный, и для "OrderBy(x => Guid.NewGuid())" в LINQ генерирует "ORDER BY NEWID()" на сервере.
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806367
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoview,
че то я не понял, зачем по гуиду сортировать?
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806369
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

для случайного перемешивания элементов множества
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806375
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123listtoview,
че то я не понял, зачем по гуиду сортировать?
согласен, смысла нет, но он есть)
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806400
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123listtoview,
че то я не понял, зачем по гуиду сортировать?

Стандартная фишка SQL Server - чтобы выбрать рандомные строки надо сортировать по NEWID(), RAND() при этом для этого не годится.
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806416
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejtesPetro123,
для случайного перемешивания элементов множества
для бизнеса это зачем?
У меня ведь не сиквел а постгри БД.
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806418
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoviewPetro123listtoview,
че то я не понял, зачем по гуиду сортировать?
согласен, смысла нет, но он есть)в FAQ ))
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806427
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Roman MejtesPetro123,
для случайного перемешивания элементов множества
для бизнеса это зачем?
У меня ведь не сиквел а постгри БД.
Ну перемешивать может врят ли когда надо, но, скажем выбрать сколько-то случайных записей из таблицы - вполне нормальная задача:
Код: sql
1.
select top 1 * from mytable order by newid()


для постгреса может и random() подойдет, но у мс-сиквела такая особенность, что он rand() вычисляет только один раз для всего выражения, и использует его потом как константу - это уже в 100500 местах обжеванно еще с версии 2000 года, наверное:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select top 3 rand() from sys.objects
/*
----------------------
0.896970120492438
0.896970120492438
0.896970120492438

(3 rows affected)
*/
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806430
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatНу перемешивать может врят ли когда надо, но, скажем выбрать сколько-то случайных записей из таблицы - вполне нормальная задача:
первая часть противоречит второй.
Выбрать первые N записей это одно.
А перемешивать зачем?
)))
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806432
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatдля постгреса может и random() подойдет
а если у вас коллекция? Как случайные будете выбирать?
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806433
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

конкретно этот пример для слайдера с отзывами о продукте который никто не покупает
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806434
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoviewPetro123,
конкретно этот пример для слайдера с отзывами о продукте который никто не покупает
суть в том чтобы на F5 каждый раз новые? Тогда понял.
))
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806435
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123listtoviewPetro123,
конкретно этот пример для слайдера с отзывами о продукте который никто не покупает
суть в том чтобы на F5 каждый раз новые? Тогда понял.
))
да
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806436
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123fkthatНу перемешивать может врят ли когда надо, но, скажем выбрать сколько-то случайных записей из таблицы - вполне нормальная задача:
первая часть противоречит второй.
Выбрать первые N записей это одно.
А перемешивать зачем?
)))
Так показал же выше, читай внимательней. Перемешать случайно и выбрать N первых - вот и будет N случайных. И так чтобы не тянуть всю таблицу на клиента.
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806453
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoviewPetro123пропущено...

суть в том чтобы на F5 каждый раз новые? Тогда понял.
))
да
мое имхо что сомнительная постановка.
Я бы выел первые без всякой сортировки и ниже кнопку Дале... где подгружал остальные кому надо.
Стандарт в веб сейчас.
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806454
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123выелвывел)
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806523
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123listtoviewпропущено...

да
мое имхо что сомнительная постановка.
Я бы выел первые без всякой сортировки и ниже кнопку Дале... где подгружал остальные кому надо.
Стандарт в веб сейчас.
Тогда уж выводить последние
Но если комменты редко добавляют то одно и тоже скучно

А рандом это стильно модно молодежно!
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806737
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoviewТогда уж выводить последние
именно! Хоть какая то логика должна быть.
listtoviewНо если комменты редко добавляют то одно и тоже скучно
нелогично. Тогда уже делай настройку как их выводить.
Меня бы шокировало, если бы никто коммент не писал, а тут НОВОСТИ появились.
listtoviewА рандом это стильно модно молодежно!
это слово знают только программисты.
Перед кем выделываешься?)))
Тогда биткоинты и криптовалюту добавляй.
имхо
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806816
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123listtoviewТогда уж выводить последние
именно! Хоть какая то логика должна быть.
listtoviewНо если комменты редко добавляют то одно и тоже скучно
нелогично. Тогда уже делай настройку как их выводить.
Меня бы шокировало, если бы никто коммент не писал, а тут НОВОСТИ появились.
listtoviewА рандом это стильно модно молодежно!
это слово знают только программисты.
Перед кем выделываешься?)))
Тогда биткоинты и криптовалюту добавляй.
имхо
ок
я деньги уже получил
обсужу, если заплатят, переделаю
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806824
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Petro123выелвывел)

перестань, выел(!) же
...
Рейтинг: 0 / 0
linq to sql. рандомная сортировка
    #39806828
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,
".. Не шалю, никого не трогаю, починяю примус, - недружелюбно насупившись, проговорил кот, - и еще считаю долгом предупредить, что кот древнее и неприкосновенное животное.." (с) Мастер и Маргарита
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / linq to sql. рандомная сортировка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]