У меня есть метод, который возвращает ViewModel asyn c:
public async Task<CardUserBindingViewModel> GetCardUserBindingViewModel(int cardId)
{
/// ... creditStatus, remainCreditDays
return await Task.Run(() => new CardUserBindingViewModel
{
Id = card.Id,
SerialNumber = card.SerialNumber,
PurchaseDate = card.PurchaseDate,
Cost = card.Cost,
CreditStatus = creditStatus,
RemainCreditDays = remainCreditDays.ToString(),
Profile = null
});
}
и хочу использовать его как выражение выбора, например:
public async Task<IEnumerable<CardUserBindingViewModel>> FindByUserId(int userId)
{
return await Task.Run(() =>
{
return _context.Card
.Where(c => c.UserAccountId.Equals(userId))
.AsEnumerable()
.Select(async c => await GetCardUserBindingViewModel(c.Id));
});
}
Ошибка:
Cannot implicitly convert type
'System.Collections.Generic.IEnumerable<System.Threading.Tasks.Task<API.Models.CardUserBindingViewModel>>' to
'System.Collections.Generic.IEnumerable<API.Models.CardUserBindingViewModel>'. An explicit conversion exists (are you missing a cast?)
Можно ли предотвратить повторную установку ViewModel внутри расширения Select?