Хорошо, вот перечисление, верно?
public enum BrandSafe : short
{
Yes = 1,
No = -1,
Unknown = 0
}
Основной тип данных short, хорошо, пока все хорошо.
Вот таблица:
Теперь вот класс DTO:
public class VurlRow
{
public long VurlRMXID { get; set; }
public string VurlString { get; set; }
public Enums.BrandSafe BrandSafe { get; set; }
}
Наконец, вот метод linq:
List<VurlRow> vurls = (from vurl in m_Context.Vurls
select new VurlRow()
{
BrandSafe = (Enums.BrandSafe)vurl.BrandSafe,
VurlRMXID = vurl.VurlRMXID,
VurlString = vurl.VurlString
}).ToList();
Я также пробовал (перечисления.BrandSafe) Enum.ToObject (typeof (Enums.BrandSafe), vurl.BrandSafe) для создания Enum.Когда я удаляю строку BrandSafe = (Enums.BrandSafe) vurl.BrandSafe, вызов работает, но со строкой я получаю исключение InvalidCast.
"Указанное приведение недопустимо."
Похоже, что это должно быть полностью справедливо для меня, но что я знаю, недостаточно о enums и linq, очевидно, кто-нибудь может здесь помочь?