У меня есть несколько репозиториев в моем приложении, и я хочу попробовать создать общий репозиторий, чтобы сократить дублирование кода.Как передать значения Lambda в общий репозиторий
Одним из требований, которые возникают неоднократно, является необходимость перечисления моих объектов в выпадающем списке.
В моем текущем бетонном хранилище У меня есть это:
public IEnumerable GetSelectList()
{
return _context.Cultures.Select(x => new SelectListItem
{
Text = x.CultureKey,
Value = x.CultureID.ToString()
}).ToList();
}
Так что я хотел бы сделать, это иметь общий GetSelectList
функцию, которая позволит мне указать, какие значения я хотел использовать для Text
и Value
полей мой элемент списка избранного (в коде выше CultureKey
и CultureID
).
Я не уверен, как сделать эти значения настраиваемыми в общем репозитории. Есть ли способ оценить значения строк в виде значений лямбда? Или есть другой способ добиться того, чего я хочу?
SelectListItem - это «Просмотр», связанный с этим, и это вызовет ваши боли в будущем, если вы начнете смешивать логику вида с логикой домена. В качестве альтернативы добавьте вспомогательную или обзорную модель представления, которая преобразует определенные поля в ключи и значения. – axlj