C# 没有order by子句的EF排序结果

C# 没有order by子句的EF排序结果,c#,entity-framework,entity-framework-5,C#,Entity Framework,Entity Framework 5,在我的asp.net mvc应用程序中,我使用实体框架返回数据列表。返回的数据按升序排列,即使我的linq语句中没有order by子句: using (TNTContext tnt = new TNTContext()) { var result = tnt.Wave.Include("Terminals").ToList(); } 我检查了sql server profiler,果然: 默认情况下,LINQ(或者我不确定是哪个实体框架)会对结果排序。有没有

在我的asp.net mvc应用程序中,我使用实体框架返回数据列表。返回的数据按升序排列,即使我的linq语句中没有order by子句:

using (TNTContext tnt = new TNTContext())
    {
        var result = tnt.Wave.Include("Terminals").ToList();
    }
我检查了sql server profiler,果然:


默认情况下,LINQ(或者我不确定是哪个实体框架)会对结果排序。有没有办法关掉这个

如果我不是,它正在按顺序执行,因为它正在尝试连接两个表以获取相关数据

var result = tnt.Wave.Include("Terminals").ToList();

当您说“包含”时,它将尝试将Wave表与Terminals表连接起来,如果数据是有序的,则连接查询将得到优化。

是的,添加您自己的
order by
@TMcKeown我希望结果以与数据库中相同的顺序返回。@break,数据库中没有顺序,一个简单的选择没有order by,将以不确定的顺序返回记录。这不是可靠的请求。订单由计划决定。如果计划决定使用一个索引,那么您将根据该索引获得结果,其他执行可能会使用不同的计划,从而使用不同的顺序。您最好添加订单BY@Habib我的LINQ声明没有…的订单。。。。