使用嵌套对象将IQueryable <entity>映射到Linq中的IQueryable <dto> </dto> </entity>

时间:2012-08-09 14:46:45

标签: asp.net entity-framework automapper asp.net-web-api dto

我正在尝试映射IQueryable&lt;实体GT;到IQueryable&lt; entityDTO&GT;使用Automapper生成Linq。我正在开发一个带有实体框架和oracle 11g的Web API项目。

public virtual IQueryable<TDto> Get() 
{
IQueryable<TEntity> EntObjs;
EntObjs = GenericService.Get();     
var Dtos = EntObjs.Project().To<TDto>();
return Dtos;
}

只要Tentity类型中没有任何集合,它就可以正常工作。我在http://www.devtrends.co.uk/blog/stop-using-automapper-in-your-data-access-code找到了解决问题的一半信息。我知道我可以使用follow函数使用Automapper映射集合,但我需要它在linq中,所以我不会破坏Iquerable链。

Mapper.Map<TSource, TDestination>(Source,Destincation);

1 个答案:

答案 0 :(得分:0)

您可以在查询链中使用它。

例如:

EntObjs.Project(). Select(x=> Mapper.Map(x))...