Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LinQ无法识别方法“int32到int32”_C#_Linq - Fatal编程技术网

C# LinQ无法识别方法“int32到int32”

C# LinQ无法识别方法“int32到int32”,c#,linq,C#,Linq,我一直在Google中搜索:linq to entities无法识别方法int32到int32。 我的数据库中有一个类似varchar的列表: 一,二,三,四,五,六,七 我需要对列表进行排序并获得最大值。我正在使用它,但它不起作用,我也看到了其他解决方案,但没有任何效果。这是我的疑问: var query= dbcontext.NV_Users.OrderBy(p => Convert.ToUInt32(p.code)).ToList().Max(); 我尝试了一个正常的查询,但也不起

我一直在Google中搜索:linq to entities无法识别方法int32到int32。 我的数据库中有一个类似varchar的列表:

一,二,三,四,五,六,七

我需要对列表进行排序并获得最大值。我正在使用它,但它不起作用,我也看到了其他解决方案,但没有任何效果。这是我的疑问:

var query= dbcontext.NV_Users.OrderBy(p => Convert.ToUInt32(p.code)).ToList().Max();
我尝试了一个正常的查询,但也不起作用:

var query= from _NV_Field in dbcontext.NV_Users
           orderby Convert.ToInt32(_NV_Field.code) ascending
           select _NV_Field.code;
在这里提问之前,我一直在疯狂地搜索Google。

自从您使用.ToList以来,您可以更改功能的顺序:

var query= dbcontext.NV_Users.ToList().OrderBy(p => Convert.ToUInt32(p.code)).Max();

最后我找到了解决办法。我需要转换选择框上的字段

 var consulta = from _NV_Fabricantes in dbcontext.NV_Fabricantes.ToList().OrderBy(p =>     Convert.ToInt32(p.codigo)) 
                            select Convert.ToInt32(_NV_Fabricantes.codigo);

真正地如果是一个大列表,最好对数据库进行排序。虽然这确实可以避免错误,但OrderBy调用Max时仍然毫无意义,因为Max返回一个值。@Rawling如果列表那么大,则根本不应从DB中获取数据。由于OP已经使用ToList,因此可以假设数据库中的项目数量相对较少。另外,在这种情况下,排序实际上是毫无意义的。@ken2k在复杂类型上ToList和Max,Max出现了很多奇怪的情况,所以我要指出,重新排序可能不会有什么帮助。我真的对这里的所有评论感到愤怒。ToList应该与cotion一起使用,因为它可能导致获取可能不需要的数据。马克斯也困扰着我。我真的知道有些情况下OP会隐藏我们的信息,所以我不想太多地更改他的查询。你为什么要使用.Max?你想要完成什么,即你想要的结果的文本描述,你能提供吗?