C# 实体框架OrderBy将导致在数据库级别执行多个OrderBy语句
我在asp.net mvc中的操作方法中有以下代码:-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
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)