【发布时间】:2020-03-14 17:16:44
【问题描述】:
我想提高我的查询性能。当您查看我之前的问题时,您会看到我的问题。我要求您修改我的 LINQ 查询。因为我需要更好的性能。
但我决定为我的 LINQ 查询查看 SQL 的相等性。因此,如何在处理性能问题的情况下将 LINQ 转换为 SQL?因为我需要有更好的表现,这就是原因;它比以前更重要。愿意回答这个问题的人必须专注于
- 更好的性能
- SQL 相等性。
data.ForEach(x =>
{
foreach (var item in x.SalesItems)
{
if (orderItemType.Any(y => y == item.Value))
{
var x = DbContext.Set<Customer>()
.Include(q => q.Table1)
.Include(q => q.Table2)
.FirstOrDefault(q => q.Id == item.Key);
if (x != null)
{
var y = DbContext.Set<Order>()
.Include(q => q.OrderDetail)
.FirstOrDefault(q => q.PNRId == x.PNRID);
x.OrderNo = x.OrderNumber;
x.CustomerName = x.Table1.Name + " " + x.Table1.Surname;
x.OrderProviderName = y.OrderDetail.Id;
x.CityCode = y.OriginCityCode + " - " + y.DestinationCityCode;
}
}
}
});```
【问题讨论】:
-
为什么会投票?
-
你试过 .ToString() 吗?它将返回将在数据源上运行的命令
-
优化 linq 查询比将其重写为老式 sql 更好
-
我简化了我的问题以获得更好的答案。比你。
标签: c# sql sql-server linq tsql