我已经生成了一个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]);
}
名称似乎等于最后一项而不是第一项
答案 0 :(得分:1)
如果你有一个身份密钥,例如“Id”,你可以在查询中添加“ORDER BY Id DESC
”:
SELECT DISTINCT (locations.Code) FROM locations ORDER BY Id DESC LIMIT 1
OR
将您的查询更改为:
SELECT DISTINCT (locations.Code) FROM locations
并更改行:
“return(name[0]);
”
至
“return name.LastOrDefault();
”
当然使用System.Linq
答案 1 :(得分:1)
因为你没有&#34; ORDER BY
&#34; &#34; order
&#34;其中记录的内容被视为&#34; undefined
。&#34; (这可能是确定性的,但重点是......不要指望它。)正如Alex K所说,添加一个ORDER BY。