在linq c#中,返回所有列或转换到模型哪个更有效?

本文关键字:模型 转换 有效 linq 返回 | 更新日期: 2023-09-27 18:16:51

我有一个有20列的数据库表,但我只需要使用其中的8列。

返回整个表是否更有效

_context.products.where(x => x.active);

还是这样做更好呢

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

谢谢

在linq c#中,返回所有列或转换到模型哪个更有效?

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

这似乎与你的情况很相关,而且有很多要点。

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

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