diff --git a/src/Microsoft.AspNetCore.Mvc.ViewFeatures/Internal/ExpressionTextCache.cs b/src/Microsoft.AspNetCore.Mvc.ViewFeatures/Internal/ExpressionTextCache.cs index c9845c644e..cc774bebfc 100644 --- a/src/Microsoft.AspNetCore.Mvc.ViewFeatures/Internal/ExpressionTextCache.cs +++ b/src/Microsoft.AspNetCore.Mvc.ViewFeatures/Internal/ExpressionTextCache.cs @@ -70,7 +70,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal return true; } - if (!string.Equals(memberName1, memberName2, StringComparison.OrdinalIgnoreCase)) + if (!string.Equals(memberName1, memberName2, StringComparison.Ordinal)) { return false; } @@ -108,7 +108,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal break; } - hashCodeCombiner.Add(memberName, StringComparer.OrdinalIgnoreCase); + hashCodeCombiner.Add(memberName, StringComparer.Ordinal); expression = memberExpression.Expression; } else diff --git a/test/Microsoft.AspNetCore.Mvc.ViewFeatures.Test/Internal/ExpressionHelperTest.cs b/test/Microsoft.AspNetCore.Mvc.ViewFeatures.Test/Internal/ExpressionHelperTest.cs index b7137b1457..86d7d047f9 100644 --- a/test/Microsoft.AspNetCore.Mvc.ViewFeatures.Test/Internal/ExpressionHelperTest.cs +++ b/test/Microsoft.AspNetCore.Mvc.ViewFeatures.Test/Internal/ExpressionHelperTest.cs @@ -39,6 +39,10 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal (Expression>)(testModel => testModel.SelectedCategory.CategoryId), "SelectedCategory.CategoryId" }, + { + (Expression>)(testModel => testModel.selectedcategory.CategoryId), + "selectedcategory.CategoryId" + }, { (Expression>)(model => model.SelectedCategory.CategoryName.MainCategory), "SelectedCategory.CategoryName.MainCategory" @@ -71,6 +75,10 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal (Expression, Category>>)(model => model[i].SelectedCategory), "[3].SelectedCategory" }, + { + (Expression, Category>>)(model => model[i].selectedcategory), + "[3].selectedcategory" + }, { (Expression, string>>)(model => model[key].SelectedCategory.CategoryName.MainCategory), "[TestModel].SelectedCategory.CategoryName.MainCategory" @@ -87,10 +95,18 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal (Expression, int>>)(model => model[2].PreferredCategories[i].CategoryId), "[2].PreferredCategories[3].CategoryId" }, + { + (Expression, int>>)(model => model[2].preferredcategories[i].CategoryId), + "[2].preferredcategories[3].CategoryId" + }, { (Expression, string>>)(model => model.FirstOrDefault().Name), "Name" }, + { + (Expression, string>>)(model => model.FirstOrDefault().name), + "name" + }, { (Expression, string>>)(model => model.FirstOrDefault().Model), "Model" @@ -285,10 +301,22 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal (Expression>)(model => model.SelectedCategory), (Expression>)(model => model.SelectedCategory.CategoryName) }, + { + (Expression>)(model => model.SelectedCategory.CategoryName), + (Expression>)(model => model.selectedcategory.CategoryName) + }, { (Expression>)(model => model.Model), (Expression>)(model => model.Name) }, + { + (Expression>)(model => model.Model), + (Expression>)(model => model.model) + }, + { + (Expression>)(model => model.Name), + (Expression>)(model => model.name) + }, { (Expression>)(model => model.SelectedCategory.CategoryName), (Expression>)(model => value) @@ -301,6 +329,10 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal (Expression, Category>>)(model => model[2].SelectedCategory), (Expression>)(model => model.SelectedCategory.CategoryName.MainCategory) }, + { + (Expression, Category>>)(model => model[2].SelectedCategory), + (Expression, Category>>)(model => model[2].selectedcategory) + }, { (Expression>)(testModel => testModel.SelectedCategory.CategoryId), (Expression>)(model => model.SelectedCategory) @@ -309,6 +341,10 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal (Expression, string>>)(model => model[key].SelectedCategory.CategoryName.MainCategory), (Expression>)(model => model.SelectedCategory) }, + { + (Expression, string>>)(model => model[key].SelectedCategory.CategoryName.MainCategory), + (Expression, string>>)(model => model[key].selectedcategory.CategoryName.MainCategory) + }, { (Expression>)(m => Model), (Expression>)(m => m.Model) @@ -408,6 +444,17 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal public IList PreferredCategories { get; set; } } + private class LowerModel + { + public string name { get; set; } + + public string model { get; set; } + + public Category selectedcategory { get; set; } + + public IList preferredcategories { get; set; } + } + private class Category { public int CategoryId { get; set; }