0
我有一个按UniqueId
列排序的对象列表(RunSummary
),然后列出RunNo
列。但是UniquId
对象的类型为String
。我想按UniqueId
排序为Integer
对象(不是1,10,11,3而是1,3,10,11)。这里是我的代码:在LINQ C中对字符串列表进行整数排序#
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;
}
}
我与
List<RunSummary> runSummaries = context.RunSummaries
.Where(param => uniqueIds.Contains(param.UniqueId))
.OrderBy(param => Convert.ToInt32(param.UniqueId))
.ThenBy(param => param.RunNo)
.ToList<RunSummary>();
尝试,但它不工作。我如何在LINQ中排序?
什么特别不工作后订购?你是否遇到异常?或者如果你得到不正确的结果他们是什么? – juharr
@juharr我不认为你可以在'DBContext'查询中使用'int.Parse(param.UniqueId)'这样的函数吗? –
我想,你不能在LINQ查询中使用Convert.ToInt32到数据库,但给我们一个答案有什么问题.. – W92