0

我有一个简单的 EF 查询,需要作为 OData 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语句的逻辑封装到自动映射器投影中?

4

0 回答 0