Проблема в том, что выражение не переводится в sql, поскольку appFormViewModel
не является сущностью в вашей базе данных. это ваша модель представления для пользовательского интерфейса, которая не имеет ничего общего с базой данных, поэтому она никоим образом не должна быть частью вашего запроса EF.
Что мы можем сделать, так это проецировать необходимые данные вне запроса EF, используя Select
и затем используем его в запросе Linq для EF:
var ids = appFormViewModel.Select(x => x.kycId).ToList();
var lstAppForm = await _appDBContext.ApplicationForms
.Where(qr => ids.Contains(qr.id))
.ToListAsync();
или:
var ids = appFormViewModel.Select(x => x.kycId).ToList();
var lstAppForm = await _appDBContext.ApplicationForms
.Where(qr => ids.Any(a => a == qr.id))
.ToListAsync();