AutoMapper的项目将生成有效的SQL吗?

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

以下代码(.Net Core 3.0)读取数据库表,并使用AutoMapper从表中获取几列。

var employees = await _context.Employees // Employee table has a lot of columns
    .ProjectTo<EmployeeLookupDto>(_mapper.ConfigurationProvider) // EmployeeLookupDto only has three columns
    .OrderBy(e => e.Name)
    .ToListAsync(cancellationToken);

[它将数据库表的所有列读取到内存,然后将数据映射到三个属性EmployeeLookupDto类吗?还是实际上会生成带有三列select子句的SQL?

c# entity-framework .net-core entity-framework-core automapper
1个回答
1
投票

Automapper根本不生成SQL。

相反,它以这种方式生成IQueryable<T>实例,以使您的SQL提供程序(L2S,EF或其他)很可能能够转换为SQL。

是的,在您的示例中,生成的SQL仅包含3列和一个Order By子句。

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