Я следующее перечислениеПрисвоение значения переменного перечислимой
public enum Outcome
{
DontKnow = 0,
Good = 1,
Bad = 2,
NotBad = 3
}
В моем классе результатов, у меня есть свойство с таким перечислением:
public class Result
{
public int Id { get; set; }
public string Name { get; set; }
public Outcome FinalOutcome { get; set; }
}
Как я читать данные из базы данных - с помощью SqlDataReader - как я могу присвоить его значение?
while(reader.Read())
{
Id = Convert.IsDbNull(reader[0]) ? Convert.ToInt32(0) : Convert.ToInt32(reader[0]);
Name = Convert.IsDbNull(reader[1]) ? string.Empty : reader[1].ToString();
FinalOutcome = Convert.IsDbNull(reader[2]) ? WhatGoesHere? : WhatGoesHere?;
}
Какой тип столбца в базе данных? Integer? Вы должны просто указать значение читателя в тип перечисления. –
Если тип данных в таблице SQL является int, тогда вы просто бросаете его как целое число, а затем Enum.TryParse против него. Я могу дать вам пример кода, если вы хотите. – Casey
Примером является следующий, если тип данных SQL является целым числом: obj.OutCome = (OutCome) sqlIntValue; – Casey