LINQ “.Include” orderby в подзапросе

Ответ, от эта страница в CSS:

pre {
    white-space: pre-wrap;       /* Since CSS 2.1 */
    white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
    white-space: -pre-wrap;      /* Opera 4-6 */
    white-space: -o-pre-wrap;    /* Opera 7 */
    word-wrap: break-word;       /* Internet Explorer 5.5+ */
}

8
задан 20 July 2009 в 20:45
поделиться

3 ответа

Сейчас я могу придумать два варианта того, что вы хотите. Вы можете выделить их в новый класс, где пользователь и связанные запросы являются свойствами:

var userQuery = from u in _IntranetContext.UserSet.Include("SampleRequests")
                orderby u.LastName ascending
                select new
                {
                    User = u,
                    SampleRequests = u.SampleRequests.OrderByDescending(r => r.SampleRequestId)
                };

Это вызовет проблемы, если вы захотите вернуть этот тип, поскольку он анонимный.

Вы также можете выбрать это в новом объект пользователя, похожий на этот:

var userQuery = from u in _IntranetContext.UserSet.Include("SampleRequests")
                orderby u.LastName ascending
                select new User
                {
                    Property1 = u.Property1,
                    Property2 = u.Property2,
                    Property3 = u.Property3,
                    SampleRequests = u.SampleRequests.OrderByDescending(r => r.SampleRequestId).ToList()
                };

Это вернет коллекцию объектов User, но обновление объектов в базе данных может вызвать проблемы.

8
ответ дан 5 December 2019 в 23:16
поделиться

Просто добавьте еще один параметр порядка в orderby:

var userQuery = from u in _IntranetContext.UserSet.Include("SampleRequests")
                           orderby u.LastName ascending, 
                                   u.SampleRequestId descending
                           select u;
-1
ответ дан 5 December 2019 в 23:16
поделиться

Редактировать: Treed на <15 секунд.

var userQuery = from u in _IntranetContext.UserSet.Include("SampleRequests")
                orderby u.LastName ascending, u.SampleRequestId descending
                select u;
-2
ответ дан 5 December 2019 в 23:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: