Я думаю, это говорит о том, что обычно свойства коллекции сами по себе не должны быть изменяемыми - для коллекции более характерно быть изменчивым и просто доступным через сеттер.
Это всего лишь предложение:)
В этом случае вы будете использовать:
RecipeList.Clear();
RecipeList.AddRange(RecipeManagerService
.SearchByUnit(SearchCriteria)
.Where(r => r.IsApproved && !r.IsHidden));
Обратите внимание, что не будет запускать событие изменения, хотя ... вы можете вместо этого использовать ObservableCollection.
Это также будет означать, что любой может изменить содержимое списка рецептов ... Вы определенно этого хотите? Другая альтернатива - выставить свойство ReadOnlyCollection<T>
или что-то в этом роде и вносить изменения только в ваш собственный класс. Хотя это действительно зависит от того, что вы пытаетесь сделать.