Я довольно новичок в структуре MVC и сущности, и я надеялся, что кто-то сможет мне помочь.Сортировка списка SQL по int
У меня есть база данных SQL, в которой есть столбец, содержащий int. Я хочу, чтобы вытащить эти ценности и положить их в html.dropdownlistfor
Я первоначально пытался сделать:
List<SelectListItem> List = dbAccess.KeywordCorrelationData.Select(
temp => new {
Value = temp.DefaultDestroyPeriod.ToString(),
Text = temp.DefaultDestroyPeriod.ToString()
}).OrderBy(temp => temp.Value).Distinct().ToList();
Однако это только сортируется по текстовому значению не числовое значение.
Я с тех пор нашел решение, но это намного больше:
List<SelectListItem> List= new List<SelectListItem>();
List<int> tempIntList = dbAccess.KeywordCorrelationData.Select(temp => temp.DefaultDestroyPeriod).Distinct().ToList();
tempIntList.Sort();
foreach (int tempInt in tempIntList)
{
int wholeYears = (int)Math.Round((double)tempInt/365, 0);
SelectListItem newItem = new SelectListItem()
{
Value = tempInt.ToString(),
Text = tempInt.ToString() + " days (approx. " + wholeYears.ToString() + (wholeYears == 1 ? " year)" : " years)")
};
List.Add(newItem);
}
return List;
мне было интересно, если есть более простой способ сделать это, чем это? Я googled и искал здесь, но не могу найти ничего подобного.
Благодаря
Что такое тип данных 'DefaultDestroyPeriod'? – DavidG