Skip to content

Commit 6fec321

Browse files
Case-insensitive string comparison in DataSourceLoadContext.FullSelect (#401)
1 parent 902dd90 commit 6fec321

2 files changed

Lines changed: 16 additions & 1 deletion

File tree

net/DevExtreme.AspNet.Data.Tests/DataSourceLoaderTests.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -445,6 +445,21 @@ IDictionary<string, object> Load(string[] preSelect, string[] select) {
445445
Assert.True(item.ContainsKey("b"));
446446
}
447447

448+
[Fact]
449+
public void Load_PreSelect_CI() {
450+
// https://github.com/DevExpress/DevExtreme.AspNet.Data/pull/400
451+
452+
var loadOptions = new SampleLoadOptions {
453+
Select = new[] { "prop" },
454+
PreSelect = new[] { "Prop" }
455+
};
456+
457+
var loadResult = DataSourceLoader.Load(new[] { new { Prop = 123 } }, loadOptions);
458+
var items = loadResult.data.Cast<IDictionary<string, object>>().ToArray();
459+
460+
Assert.Equal(123, items.First()["Prop"]);
461+
}
462+
448463
[Theory]
449464
[InlineData(false)]
450465
[InlineData(null)]

net/DevExtreme.AspNet.Data/DataSourceLoadContext.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ string[] Init() {
261261
var hasPreSelect = !IsEmpty(_options.PreSelect);
262262

263263
if(hasPreSelect && hasSelect)
264-
return Enumerable.Intersect(_options.PreSelect, _options.Select).ToArray();
264+
return Enumerable.Intersect(_options.PreSelect, _options.Select, StringComparer.OrdinalIgnoreCase).ToArray();
265265

266266
if(hasPreSelect)
267267
return _options.PreSelect;

0 commit comments

Comments
 (0)