У меня есть следующий запрос LINQ:
using (var db = new MyDataContext()) {
int[] onlineUsers = GetOnline();
var users = (from u in db.Users orderby
(onlineUsers.Contains(u.u_username) &&
u.u_hasvisible_photo) descending,
u.u_lastlogin descending select
u.u_username).Skip(startRowIndex).
Take(maximumRows).ToList();
}
Это отлично работает и генерирует SQL-запрос с использованием оператора IN.
Проблема в том, что каждый int из int [] передается через другой параметр, и я знаю, что SQL имеет ограничение в 2100 параметров на запрос.
Я думаю, что для сортировки было бы лучше использовать динамическую библиотеку LINQ OrderBy.
Вместо "onlineUsers.Contains (u.u_username) && u.u_hasvisible_photo) по убыванию" используйте .OrderBy (orderquery).
Я искал в Интернете руководство или пример, чтобы сделать это, и не могу найти никакой помощи. Может ли сообщество помочь мне с кодом или ссылками, которые могут помочь мне в реализации этого?