I was just playing with System.Data.Entity.Design.PluralizationServices.PluralizationService.
Have you experienced issues with this function?
If I have a string var with value "ducks" and run
string noun = "ducks";
noun = System.Data.Entity.Design.PluralizationServices.PluralizationService.CreateService(System.Globalization.CultureInfo.CurrentUICulture).Singularize(noun);
I still get the plural.
Yet if I do the same with a literal string it works as expected.
string noun = string.Empty;
noun = System.Data.Entity.Design.PluralizationServices.PluralizationService.CreateService(System.Globalization.CultureInfo.CurrentUICulture).Singularize("ducks");