У меня есть многочисленные списки типа List<SelectListItem>
в моей модели, которые настроены с использованием выражения =>
, например:
public List<SelectListItem> Users => Service.GetAll<User>().ToSelectList();
У меня сложилось впечатление, что они были вызваны при создании классапоэтому я переместил их в LoadLists
методы, чтобы я мог вызывать определенный метод, когда это необходимо для эффективности.
public List<SelectListItem> Users {get;set;}
public void LoadLists()
{
this.Users = Service.GetAll<User>().ToSelectList();
}
Это вызвало проблему с моими представлениями, поскольку список выбора Users
использовался в нескольких DropdownListFors
, из-за чего любой обнуляемый DropdownListFor
содержал самое последнее значение, которое использовало Users
список выбора.
При использовании оригинального public List<SelectListItem> Users => Service.GetAll<User>().ToSelectList();
эта проблема не возникала, поскольку я предполагал, что он вызывался каждый раз, когда список выбора Users
использовался в представлении?
Итак, ясоздал пустышку List<SelectListItem>
вроде:
public List<SelectListItem> Test => Service.GetAll<User>().ToSelectList();
и не использовал его в представлении, а строка отладки никогда не была найдена. Итак, мой вопрос: =>
Выражения выполняются только тогда, когда они где-то используются?