Skip to content

Commit 4d8c2ba

Browse files
KanishManuja-MSxuzhg
authored andcommitted
Copy query settings correctly, PR #2169
1 parent 63f1c66 commit 4d8c2ba

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

src/Microsoft.AspNet.OData.Shared/Query/DefaultQuerySettings.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,5 +64,16 @@ public int? MaxTop
6464
/// Gets or sets a value indicating whether the service will use skiptoken or not.
6565
/// </summary>
6666
public bool EnableSkipToken { get; set; }
67+
68+
internal void CopySettings(DefaultQuerySettings settings)
69+
{
70+
this.EnableCount = settings.EnableCount;
71+
this.EnableExpand = settings.EnableExpand;
72+
this.EnableFilter = settings.EnableFilter;
73+
this.EnableOrderBy = settings.EnableOrderBy;
74+
this.EnableSelect = settings.EnableSelect;
75+
this.EnableSkipToken = settings.EnableSkipToken;
76+
this.MaxTop = settings.MaxTop;
77+
}
6778
}
6879
}

src/Microsoft.AspNetCore.OData/Extensions/ODataServiceProviderConfigExtenions.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,18 @@ public static void SetDefaultQuerySettings(this IServiceProvider serviceProvider
2323
throw Error.ArgumentNull(nameof(defaultQuerySettings));
2424
}
2525

26-
if (!defaultQuerySettings.MaxTop.HasValue || defaultQuerySettings.MaxTop > 0)
27-
{
28-
ModelBoundQuerySettings.DefaultModelBoundQuerySettings.MaxTop = defaultQuerySettings.MaxTop;
29-
}
30-
3126
DefaultQuerySettings querySettings = serviceProvider.GetRequiredService<DefaultQuerySettings>();
3227
if (querySettings == null)
3328
{
3429
throw Error.InvalidOperation(SRResources.MissingODataServices, nameof(DefaultQuerySettings));
3530
}
3631

37-
querySettings = defaultQuerySettings;
32+
querySettings.CopySettings(defaultQuerySettings);
33+
34+
if (!defaultQuerySettings.MaxTop.HasValue || defaultQuerySettings.MaxTop > 0)
35+
{
36+
ModelBoundQuerySettings.DefaultModelBoundQuerySettings.MaxTop = defaultQuerySettings.MaxTop;
37+
}
3838
}
3939

4040
public static DefaultQuerySettings GetDefaultQuerySettings(this IServiceProvider serviceProvider)

0 commit comments

Comments
 (0)