gun*_*erz 4 c# linq performance entity-framework
我正在编写类似于以下内容的LINQ查询:
var test = from o in dbcontext.Orders.AsEnumerable()
where o.ID==1
select new Order
{
Name = GetName(o.ID)
};
Run Code Online (Sandbox Code Playgroud)
为了在LINQ查询中调用外部函数,我AsEnumerable()
在查询中使用.
我理解通常在ToList()
调用枚举函数之前不会执行查询.但在这里,我呼吁枚举中查询.
任何人都可以告诉我,这样使用是否被认为是不好的做法AsEnumerable()
?与创建查询ToList()
后调用相比,它会在性能上受损吗?
我会做
var ids = from o in dbcontext.Orders
where o.ID==1
select new { ID = o.ID };
var names = from i in ids.AsEnumerable()
select new Order { Name = GetName(i.ID) };
Run Code Online (Sandbox Code Playgroud)
即在数据库中尽可能多地进行查询,然后只在C#中执行ID到名称的转换.
归档时间: |
|
查看次数: |
1453 次 |
最近记录: |