Automapper Project()。<t>可以基于每个呼叫进行自定义吗?</t>

时间:2013-10-01 15:12:38

标签: c# asp.net-mvc odata automapper iqueryable

我有一个简单的EF查询,需要作为ODu Web API控制器的IQueryable传递回客户端。

我制作的查询如下所示:

var query = _context.Diary
                    .Where(bd => bd.EventStart < DateTime.Now)
                    .Project()
                    .To<FeedbackViewModel>();

但是,我试图翻译一些没有使用OData提供程序的旧代码,并且会跟随数据库调用(大大简化):

var mappedData = Mapper.Map<List<FeedbackViewModel>>(query);
foreach (var feedbackViewModel in mappedData)
{
    if (feedbackViewModel.UserId == userId)
    {
        feedbackViewModel.ViewingWith = GetOtherUserDetails();
    }
    else
    {
        feedbackViewModel.ViewingWith = GetThisUsersDetails();
    }        
}

如何将if语句的逻辑封装到automapper投影中?

0 个答案:

没有答案