将字符串转换为int以使用LINQ进行排序

Dav*_*eer 3 .net c# linq lightspeed

我想通过转换为int的字符串来命令我的列表:

var orderedListOfRfidTags = uow.RfidTags.OrderBy(t => Convert.ToInt32(t.Number)).ToList();
Run Code Online (Sandbox Code Playgroud)

但得到:不支持'ToInt32'方法.

Ahm*_*gdy 5

关于什么:

var orderedListOfRfidTags = uow.RfidTags.OrderBy(t => t.Number).ToList();
Run Code Online (Sandbox Code Playgroud)

删除任何CLR方法,以便ORM可以将其转换为已知的SQL查询

编辑:我刚读过想要先转换它所以:

var orderedListOfRfidTags = uow.RfidTags.ToList().OrderBy(t => Convert.ToInt32(t.Number));
Run Code Online (Sandbox Code Playgroud)

或者从DB获取所有内容然后在客户端(linq到object)上进行排序,如前所述,或者在ORM上找到一个方法来按顺序转换为int.在您订购之前选择一个带有转换数字的新列表,然后按顺序排序.

EDIT2:

直接演员怎么样才能使用这个ORM?

var orderedListOfRfidTags = uow.RfidTags.OrderBy(t => (int)t.Number).ToList();
Run Code Online (Sandbox Code Playgroud)