I have a List of Objects (RunSummary
) sorted by a UniqueId
column, then RunNo
column. But UniquId
objects are of type String
. I want to sort by UniqueId
as Integer
objects (not as 1,10,11,3 but 1,3,10,11). Here is my code:
public List<RunSummary> GetRunSummariesForUniqueIds(List<String> uniqueIds)
{
using (var context = new ELSORegistryEntities())
{
context.Configuration.ProxyCreationEnabled = false;
List<RunSummary> runSummaries = context.RunSummaries
.Where(param => uniqueIds.Contains(param.UniqueId))
.OrderBy(param => param.UniqueId)
.ThenBy(param => param.RunNo)
.ToList<RunSummary>);
return runSummaries;
}
}
I have tried with
List<RunSummary> runSummaries = context.RunSummaries
.Where(param => uniqueIds.Contains(param.UniqueId))
.OrderBy(param => Convert.ToInt32(param.UniqueId))
.ThenBy(param => param.RunNo)
.ToList<RunSummary>();
but it doesn't work. How do I sort in LINQ?