C#自动映射忽略方法项目到<;TModel>;()
如何在使用C#自动映射忽略方法项目到<;TModel>;(),c#,automapper,C#,Automapper,如何在使用ProjectTo()自动映射时忽略实体类中的公共方法 我的实体类是 public AspNetUser() { public string Id { get; set; } public string First_name { get; set; } public string Middle_name { get; set; } public string Last_name { get; set; } public
ProjectTo()
自动映射时忽略实体类中的公共方法
我的实体类是
public AspNetUser()
{
public string Id { get; set; }
public string First_name { get; set; }
public string Middle_name { get; set; }
public string Last_name { get; set; }
public string GetFullName()
{
return string.Join(" ", new[] { First_name, Middle_name, Last_name }.Where(c => !string.IsNullOrEmpty(c)));
}
}
我认为你不应该因为以下原因而放弃: 防止延迟加载/选择N+1问题
由于AutoMapper生成的LINQ投影由查询提供程序直接转换为SQL查询,因此映射发生在SQL/ADO.NET级别,而不涉及实体。所有数据都被急切地提取并加载到DTO中 我认为
GetFullName()
在IQueryable
上不可用。Queryable意味着您要构建一个要在SQL Server上执行的查询。而GetFullName()
在SQL Server上不可执行
.ToList()
_mapper.Map<CalendarEvent, CalendarEventForm>(calendarEvent);
\u mapper.Map(日历事件);
_mapper.Map<List<UserModel>>
_mapper.Map<List<UserModel>, List<UserEntity>>
\u mapper.Map
_地图绘制者
我希望这能对你有所帮助。我认为你不应该因为: 防止延迟加载/选择N+1问题
由于AutoMapper生成的LINQ投影由查询提供程序直接转换为SQL查询,因此映射发生在SQL/ADO.NET级别,而不涉及实体。所有数据都被急切地提取并加载到DTO中 我认为
GetFullName()
在IQueryable
上不可用。Queryable意味着您要构建一个要在SQL Server上执行的查询。而GetFullName()
在SQL Server上不可执行
.ToList()
_mapper.Map<CalendarEvent, CalendarEventForm>(calendarEvent);
\u mapper.Map(日历事件);
_mapper.Map<List<UserModel>>
_mapper.Map<List<UserModel>, List<UserEntity>>
\u mapper.Map
_地图绘制者
我希望这对您有所帮助。cfg.clearprofixes()代码>cfg.ClearPrefixes()代码>