Automapper - 子对象的不同映射技术取决于 IQueryable.ProjectTo 或 IEnumerable Map

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

如果您有一个对象,上面有一个集合作为对象的示例,则行为很明显,只需从集合中映射它,并且 EF Core 或类似中的查询将自动执行此操作(如果它是 IQueryable)。

如果在已经物化的对象上执行mapper.Map<>,就会出现问题。然后它必须使用数据上下文从数据库加载它。

AutoMapper 如何针对 IQueryable 与 IEnumerable 情况使用不同的策略?

c# automapper
1个回答
0
投票

AutoMapper 可以以不同的方式处理集合,具体取决于集合是 IQueryable 还是 IEnumerable。

对于 IQueryable,AutoMapper 可以在数据库中执行查询之前将映射配置直接应用于查询。

对于 IEnumerable,在这种情况下,AutoMapper 会迭代集合中的每个项目,应用对象到对象的映射规则。

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