Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.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# 我的SqlQuery返回的是最后一个结果,而不是第一个结果_C#_Mysql_Sql_Asp.net_Asp.net Mvc - Fatal编程技术网

C# 我的SqlQuery返回的是最后一个结果,而不是第一个结果

C# 我的SqlQuery返回的是最后一个结果,而不是第一个结果,c#,mysql,sql,asp.net,asp.net-mvc,C#,Mysql,Sql,Asp.net,Asp.net Mvc,我生成了一个SQLQuery来返回第一个结果,但是查询似乎返回了最后一个结果 代码如下: public ActionResult Location() { List<string> name; using (var dbContext = new DatabaseContext()) { name = dbContext.Database.SqlQuery<String&g

我生成了一个SQLQuery来返回第一个结果,但是查询似乎返回了最后一个结果

代码如下:

   public ActionResult Location()
   {
       List<string> name;
       using (var dbContext = new DatabaseContext())
       {
           name =
               dbContext.Database.SqlQuery<String>(
                   String.Format("select distinct (locations.Code) from locations LIMIT 1")).ToList();
       };
       return(name[0]);
    }

名称似乎等于最后一项而不是第一项

如果您有标识键(如Id),则可以在查询中按Id DESC添加订单:

SELECT DISTINCT (locations.Code) FROM locations ORDER BY Id DESC LIMIT 1

将查询更改为:

SELECT DISTINCT (locations.Code) FROM locations
并更改行: 返回名称[0]; 到 返回name.LastOrDefault;
当然,使用System.Linq

因为没有ORDERBY子句,所以获取记录的顺序被认为是未定义的。这可能是确定的,但重点是…不要指望它。正如Alex K所说,添加一个ORDER BY。

您可以删除您的问题…Stackoverflow似乎只允许您每小时发布一个问题,因此不希望它必须等待那个长名称。last应该执行此操作。当我这样做时,它仍然等于最后一个值。这就好像数组的行为就像一个字符串,只是覆盖了一个值。您选择了locations表或视图的code字段,但将其限制为一条记录。sql中的记录没有排序,因此数据库可以自由决定应按哪个顺序返回哪个记录。要指定所需的顺序,应将orderby添加到select语句中,如@AlexK。已经告诉过您。该表没有键id。此外,表中的项目按输入到表中的时间排序table@Decepticon-其中的项目按输入表格的时间排序-请参阅我的其他注释,不,不是。然后按日期排序说明