首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LINQ 'AsEnumerable‘与实体框架

LINQ 'AsEnumerable‘与实体框架
EN

Stack Overflow用户
提问于 2012-08-15 10:52:11
回答 1查看 1.6K关注 0票数 4

我正在编写类似于以下内容的LINQ查询:

代码语言:javascript
复制
var test = from o in dbcontext.Orders.AsEnumerable()
        where o.ID==1
        select new Order
        { 
             Name = GetName(o.ID)
        };

为了在LINQ查询中调用外部函数,我在查询中使用AsEnumerable()

我了解到,在调用枚举函数(如ToList()等)之前,通常不会执行查询。但在这里,我调用查询中的枚举。

有人能告诉我像这样使用AsEnumerable()是否被认为是不好的做法吗?与创建查询后调用ToList()相比,它的性能会下降吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-15 10:55:58

我会做

代码语言:javascript
复制
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到名称的转换。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11968045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档