[英]LINQ 'AsEnumerable' and the Entity Framework
我正在编写类似于以下内容的LINQ查询:
var test = from o in dbcontext.Orders.AsEnumerable()
where o.ID==1
select new Order
{
Name = GetName(o.ID)
};
为了在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) };
即在数据库中进行尽可能多的查询,然后仅在C#中执行ID到名称的转换。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.