Могу ли я использовать теневое свойство для свойства child? - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь использовать новое свойство EF Core Shadow для разбиения на страницы на стороне сервера, сортировки и фильтрации результатов списка.

Сортировка и разбиение на страницы работают отлично, за исключением случаев, когда я хочу отсортировать столбец по свойству дочернего объекта UserName.Есть ли способ использовать свойство shadow для сортировки по дочернему свойству свойства?
Примерно так: .OrderBy(p => EF.Property<object>(p, "user.UserName"))

Модель сущности:

public class Player
{
    public int Id { get; set; }
    public int UserId { get; set; }
    public int GamePlayed { get; set; }
    public int GameWon { get; set; }
    public int Rank { get; set; }
    public DateTime LastPlayedDate { get; set; }
    public DateTime JoinDate { get; set; }
    public bool Active { get; set; }
    public virtual User User { get; set; }
}

public class User
{
    public int Id { get; set; }
    public string UserName { get; set; }
    public string Email { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Description { get; set; }
}

Запрос:

public IEnumerable<Player> GetPlayers(string colName, string filter,
        string sortOrder, int pageNumber, int pageSize)
    {
        var skip = pageNumber * pageSize;

        var results = (sortOrder == "asc") ?
            _context.Players.Where(p => p.Active)
            .OrderBy(p => EF.Property<object>(p, colName))
            .Skip(skip).Take(pageSize)
            .Include(p => p.User)
            :
            _context.Players.Where(p => p.Active)
            .OrderByDescending(p => EF.Property<object>(p, colName))
            .Skip(skip).Take(pageSize)
            .Include(p => p.User);

        return results;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...