繁体   English   中英

LINQ'AsEnumerable'和实体框架

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM