在数据库调用中选择Select是否会降低性能-c#/ linq

问题描述 投票:0回答:1

我在很多地方的应用程序中都看到我做了这样的事情:

Customer = dbContext.Persons.(u => u.Id == x.Id).Select(u => $"{u.FirstName} {u.LastName}").FirstOrDefault()

现在,我很纳闷,因为此.Select的行为类似于for循环,这是我执行此操作的不良方法吗?

有没有更好的选择?如果写的不对,那么这件基本的事情肯定会造成很大的损害。

我在很多地方的应用程序中都看到过这样的内容:Customer = dbContext.Persons。(u => u.Id == x.Id).Select(u => $“ {u .FirstName} {u.LastName}“)。FirstOrDefault()现在,我是...

c# entity-framework linq entity-framework-core
1个回答
0
投票

使用Select会更改SQL SELECT语句,这意味着将仅获取所请求的列,而不是所有内容。请注意,这仅在将Select放在FirstOrDefault(或ToList,或其他)之前时适用。如果您要先触发获取操作,然后将Select放在最后,则确实会在内存中循环。

© www.soinside.com 2019 - 2024. All rights reserved.