Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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# 按代码重新排序的C Linq到SQL问题(varchar)_C#_Linq_Visual Studio 2010_Linq To Sql - Fatal编程技术网

C# 按代码重新排序的C Linq到SQL问题(varchar)

C# 按代码重新排序的C Linq到SQL问题(varchar),c#,linq,visual-studio-2010,linq-to-sql,C#,Linq,Visual Studio 2010,Linq To Sql,我正在C learning C中构建一个工资单应用程序,该应用程序将集成到SAP Business 1中。 在SAP中创建表时,SAP会在用户定义的表中自动生成两个字段。一个是代码主键,另一个是名称。两者都是varchar/字母数字类型 我有一个返回结果的查询,虽然不是以我想要的方式。即 Code Name U_Tax_year U_Minimum_pay U_Maximum_pay 0 0 2011 1

我正在C learning C中构建一个工资单应用程序,该应用程序将集成到SAP Business 1中。 在SAP中创建表时,SAP会在用户定义的表中自动生成两个字段。一个是代码主键,另一个是名称。两者都是varchar/字母数字类型

我有一个返回结果的查询,虽然不是以我想要的方式。即

Code    Name    U_Tax_year  U_Minimum_pay   U_Maximum_pay   
0        0        2011                 1         1  
1        1        2011                 2         2  
10      10        2011                11        11  
11      11        2011                12        12  
2        2        2011                 3         3  
3        3        2011                 4         4  
4        4        2011                 5         5  
5        5        2011                 6         6  
6        6        2011                 7         7  
7        7        2011                 8         8  
8        8        2011                 9         9  
9        9        2011                10        10  
这是因为代码和名称不是整数字段

以下是我的疑问:

// Get service instances
            var nhifTableSlabService = Program.Kernel.Get<INHIFTableSlabService>();

//Query database
            var nhiftableSlabs = from tb in nhifTableSlabService.GetAllNHIFTableSlabs()
                                where tb.U_Tax_year.ToString().Trim().Equals(cb_tax_year.Text.Trim(), StringComparison.CurrentCultureIgnoreCase)
                                orderby int.Parse(tb.Code.ToString()) descending
                                select tb;

            if (nhiftableSlabs.Any(x => x != null) 
            {
                // Enable datagridview
                dataGridView1.Visible = true;

                ...bla bla
            }

如何获得结果,将代码转换为整数,以便最终以代码降序显示结果?

使用convert.ToInt32而不是int.Parse,这样就可以了。有关更多详细信息,请参阅。

谢谢您的回复。但即使在使用Convert.ToInt32时,我仍然有同样的问题您是否得到异常或排序不正确?您是否尝试使用探查器查看生成的sql语句?它只是排序不正确。我在VisualStudio2010上使用了intelliTrace,生成的sql语句没有ORDERBY子句。只是从表中选择…我一定有一些语法问题。尝试将查询格式更改为lambda,这样就不太可能出错