【发布时间】:2015-12-16 09:15:52
【问题描述】:
如果我只需要使用该结果一次,即在视图中进行迭代和显示。我一般做第一个,是不是比较明智?
IEnumerable<model> result = _someService.GetValues();
return View(result);
或
IList<model> result = _someService.GetValues().ToList();
return View(result);
我签入了分析器,并且使用 EF6 仅针对该数据查询 db 一次。
清除它是一个普通的 SELECT 并且两者都有数据并且没有相邻的列表可以启动延迟加载。
注意:我知道 IEnumerable 有一个 GetEnumerator 方法,它在每次调用它时都会执行,它会执行数据,而 ToList() 只执行一次。
【问题讨论】:
-
如果不知道
GetValues内部发生了什么,几乎不可能回答您的问题。 -
@AndyKorneyev 它的一组相同的值符合模型
-
为什么这是负面的,问题似乎很清楚?
标签: c# entity-framework