我正在使用 Entity Framework 6 和 Automapper 将实体映射到 dto。
我有这个模型
public class PersonDto
{
public int Id { get; set; }
public string Name { get; set; }
public AddressDto Address { get; set; }
}
public class AddressDto
{
public int Id { get; set; }
public string Street { get; set; }
public string City { get; set; }
}
我使用 automapper Queryable Extension从实体映射 dto。
var personDto = dbContext.People.Project().To<PersonDto>();
上述方法的问题是它会使 EF 总是加载地址实体。只有当我明确告诉他们使用 include(x => x.Address) 时,我才希望加载地址。如果我在 automapper 映射中指定 ignore(),则不会加载地址。是否可以告诉自动映射器在运行时忽略地址属性?我正在使用的 Automapper 可查询扩展不支持“条件或映射后”等所有功能。有什么解决方法吗?