Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.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# 实体框架OrderBy将导致在数据库级别执行多个OrderBy语句_C#_Sql_.net_Linq_Entity Framework - Fatal编程技术网

C# 实体框架OrderBy将导致在数据库级别执行多个OrderBy语句

C# 实体框架OrderBy将导致在数据库级别执行多个OrderBy语句,c#,sql,.net,linq,entity-framework,C#,Sql,.net,Linq,Entity Framework,我在asp.net mvc中的操作方法中有以下代码:- var vm = repository.ITVMsCore() .OrderBy(a => a.Technology.PartialTag) .ToPagedList(page, pagesize); 它将调用以下存储库方法:- public IQueryable<ITVirtualMachine> ITVMsCore() { re

我在asp.net mvc中的操作方法中有以下代码:-

var vm = repository.ITVMsCore()
                   .OrderBy(a => a.Technology.PartialTag)
                   .ToPagedList(page, pagesize);
它将调用以下存储库方法:-

 public IQueryable<ITVirtualMachine> ITVMsCore()
 {
     return IT.ITVirtualMachines
              .Include(a2 => a2.Technology.TechnologyType)
              .Include(a6 => a6.Technology.TechnologyIPs)
              .Include(a10 => a10.ITServer.Technology)
              .Include(a11 => a11.ITServer.ITRack.Technology);
但我注意到的是,在Sql profiler查询中有许多OrderBy调用,因此不确定这是否只是实体框架语法,或者在DB中会从我的操作方法OrderBy生成多个OrderBy

OrderBy(a => a.Technology.PartialTag)

哪些因素可能会影响性能?有什么建议吗?

Entity Framework在解决如何将LINQ转换为优化SQL方面可能比大多数开发人员都好。请检查以下答案:@Cupcake您能更详细地解释您的答案吗?@slavoo感谢链接,但如果EF只使用我的“OrderBy”中提到的PartialTag列来排序数据,我就迷路了(a=>a.Technology.PartialTag)“或者它将执行多个OrderBy语句?
OrderBy(a => a.Technology.PartialTag)