Поместить определенную строку из результата Linq сверху? - PullRequest
0 голосов
/ 28 сентября 2010

Допустим, у меня есть запрос linq, подобный приведенному ниже.

var LinqResult =
    from a in Db.Table
    select new {Table = a};

Как я могу получить конкретную строку из этих результатов и поставить ее сверху?

Ответы [ 4 ]

0 голосов
/ 28 сентября 2010

можно попробовать

var LinqResult =
    (from a in Db.Table
    select new {a.column}).Orderby();
0 голосов
/ 28 сентября 2010

Если вы уже знаете, какая строка должна располагаться сверху, на основе, скажем, идентификатора, вы можете попробовать упорядочить на основе этого идентификатора строки.

var LinqResult =
    from a in Db.Table
    orderby a.Id == checkId descending
    select new {Table = a};
0 голосов
/ 28 сентября 2010
 orderby (a.Id == someId ? 1 : 2)

Это делает порядок довольно явным, сортируя числа 1 или 2, в зависимости от того, является ли это желаемым верхним значением.

Вы можете немного упростить это, отсортировав само выражение bool, за исключением false < true, поэтому, чтобы получить someId сверху, вы должны либо написать:

 orderby a.Id != someId

или

 orderby a.Id == someId descending
0 голосов
/ 28 сентября 2010

Добавить

 orderby a.Id == someId // or some other condition
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...