什么更高效,返回所有列或转换为linq C#中的模型

时间:2016-11-07 15:11:40

标签: c# performance linq

我有一个包含20列的数据库表,但我只需要处理8列。

返回整个表格是否更有效

_context.products.where(x => x.active).select(x => new SubModels.ProductItem { id = x.id, name = x.name, category = x.category etc etc});

或者这样做更好

{{1}}

由于

2 个答案:

答案 0 :(得分:2)

你几乎可以参考这个question"为什么SELECT *被认为是有害的"。

这似乎与您的案例相关,并且有很多要点。

因此,从一个查询的性能角度来看,只选择您需要的东西总是更好。但是你应该总是考虑其他一些事情,比如发出额外查询的可能性,以获得你已经可以返回的数据。

答案 1 :(得分:0)

select更有效,因为它只查询您需要的数据。在第一个示例中,它将查询db上的所有列。