我想通过转换为 int 的字符串对我的列表进行排序:
var orderedListOfRfidTags = uow.RfidTags.OrderBy(t => Convert.ToInt32(t.Number)).ToList();
但是得到:不支持方法'ToInt32'。
最佳答案
关于:
var orderedListOfRfidTags = uow.RfidTags.OrderBy(t => t.Number).ToList();
删除任何 CLR 方法,以便 ORM 可以将其转换为已知的 SQL 查询
编辑: 我刚读到想先转换它:
var orderedListOfRfidTags = uow.RfidTags.ToList().OrderBy(t => Convert.ToInt32(t.Number));
要么像我之前提到的那样从数据库中获取所有内容,然后在客户端(linq to object)对其进行排序,要么在您的 ORM 上找到一种方法来将其转换为 int 顺序。订购前 选择一个转换了数字的新列表,然后按它排序。
编辑2:
direct cast 是否与这个 ORM 一起工作?
var orderedListOfRfidTags = uow.RfidTags.OrderBy(t => (int)t.Number).ToList();
关于c# - 使用 LINQ 将字符串转换为 int 以进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5984919/