У меня есть класс модели представления формы, который заполняет списки выбора для использования моими представлениями. Ниже приведена выдержка из раздела, который создает SelectList. Проблема в том, что это таблица поиска, содержащая 2 других ключа
var waterIndicatorValues = waterIndicator
.OrderBy(u => u.WaterIndicatorDescription)
.Select(u => new KeyValuePair<int, string>(u.WaterIndicatorId, u.WaterIndicatorDescription + " [" + u.UnitTypeId.ToString() + "] " + u.HazardTypeId.ToString()));
this.WaterIndicatorList = new SelectList(waterIndicatorValues, "Key", "Value", water.WaterIndicatorId);
Вместо UnitTypeId и HazardTypeId мне нужны текстовые описания, связанные с этими идентификаторами. Итак, я бы хотел, чтобы мой код выглядел так:
var waterIndicatorValues = waterIndicator
.OrderBy(u => u.WaterIndicatorDescription)
.Select(u => new KeyValuePair<int, string>(u.WaterIndicatorId, u.WaterIndicatorDescription + " [" + u.UnitTypeId.ToDescription() + "] " + u.HazardTypeId.ToDescription()));
this.WaterIndicatorList = new SelectList(waterIndicatorValues, "Key", "Value", water.WaterIndicatorId);
Этот код возвращает ошибку «Метод System.String ToDescription (System.Enum)» не поддерживает преобразование в SQL».
Любые комментарии/помощь с благодарностью
ENUM для UnitTypeId:
using System.ComponentModel;
namespace Emas.Model.Enumerations
{
/// <summary>
/// Defines the Unit Types.
/// </summary>
public enum UnitType
{
[Description("- Please Select -")]
Blank = 0,
[Description("kWh")]
kWh = 1,
[Description("m3")]
m3 = 2,
[Description("litres")]
litres = 3,
[Description("Kg")]
Kg = 4,
[Description("Unit(s)")]
Unit = 5,
}
}
ToDescription()
в памяти после вызоваToList()
. 27.07.2011