.Net core ODataQueryOptions создает неправильные запросы Entity Framework - PullRequest
0 голосов
/ 16 ноября 2018

Когда я вызываю метод ApplyTo с AllowedQueryOptions. Все выполненные запросы не имеют никаких указаний top / orderby.Если я удаляю параметр параметра AllowedQueryOptions, запрос выполняет гораздо более эффективный запрос БД.К сожалению, я должен использовать AllowedQueryOptions для top и пропустить для правильной работы.Любые идеи для решения этой проблемы.

С AllowedQueryOptions.All

 var settings = new ODataQuerySettings();
 IQueryable<Asset> events = options.ApplyTo(data, settings, AllowedQueryOptions.All) as IQueryable<Asset>;

 SELECT [a].[Id], [a].[Name],[a].[UniqueCode]
      FROM [Asset] AS [a]
      WHERE [a].[AssetId] = @__id_0

Без AllowedQueryOptions.All

var settings = new ODataQuerySettings();
IQueryable<Asset> events = options.ApplyTo(data, settings) as IQueryable<Asset>;

SELECT TOP(@__TypedProperty_1) [a].[Id], [a].[Name],[a].[UniqueCode]
      FROM [Asset] AS [a]
      WHERE [a].[AssetId] = @__id_0
      ORDER BY [a].[Name] DESC, [a].[Id]
...