EF Core .Include()ICollection属性和隐式OrderBy?

Art*_*tem 6 c# entity-framework entity-framework-core

我使用Entity Framework Core 1.1.0EntityFrameworkCore.SqlServer 1.1.0作为DataBase提供程序(从注释添加此信息).和SQL Server 2014.
我有这个模型:

public class User
{
  public int Id { get; set; }
  public virtual ICollection<IdentityUserRole> Roles { get; }
}

public class IdentityUserRole
{
  public int RoleId { get; set; }
  public int UserId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我用这个代码:

IQueryable<User> query = context.Set<User>();
IQueryable<User> query2 = query.Include(u => u.Roles);
Run Code Online (Sandbox Code Playgroud)

当我打电话给query.ToList()我时,我有一个SQL查询:

SELECT [u].[Id], [u].[Email], [u].[UserName]
FROM [User] AS [u]
Run Code Online (Sandbox Code Playgroud)

当我打电话时,query2.ToList()我有两个SQL查询:
1.

SELECT [u].[Id], [u].[Email], [u].[UserName]
FROM [User] AS [u]
ORDER BY [u].[Id]
Run Code Online (Sandbox Code Playgroud)

2.

SELECT [i].[UserId], [i].[RoleId]
FROM [IdentityUserRole<int>] AS [i]
WHERE EXISTS (
    SELECT 1
    FROM [User] AS [u]
    WHERE [i].[UserId] = [u].[Id])
ORDER BY [i].[UserId]
Run Code Online (Sandbox Code Playgroud)

为什么EF添加ORDER BY [u].[Id]ORDER BY [i].[UserId]SQL查询?一切正常,没有任何ORDER BY陈述.
我有这个问题,因为如果我打电话给query2.OrderByDescending(q => q.Id)我这个无效的SQL:

SELECT [u].[Id], [u].[Email], [u].[UserName]
    FROM [User] AS [u]
    ORDER BY [u].[Id] DESC, [u].[Id]
Run Code Online (Sandbox Code Playgroud)

并且SQL-server返回一个异常:

已按列表顺序多次指定列.