surveys = _context.Surveys.Where(o => idsSurveys.Contains(o.Id)).ToList();
Вы пытаетесь использовать это вне блока использования.Сделайте это следующим образом:
using (IDbConnection db = new SqlConnection(_connStringAudit))
{
idsSurveys = db.Query<string>("Select (CONVERT(nvarchar(450), Id) + Funz) as IdRilievo From V_TemView Where Email = @email",
new { email }).ToList();
surveys = _context.Surveys.Where(o => idsSurveys.Contains(o.Id)).ToList();
}
db располагается вне этого блока, как и объект запроса.
Несколько пояснений: если вы используете ядро структуры сущностей, не используйте отдельное соединение dbconnection,Если вы хотите подключиться к двум разным базам данных, используйте другой DataContext.
Не открывайте Parellal Connection для одной и той же БД.Он принудительно закрывает существующее соединение.
в случае, если это та же база данных, и вы используете код первой миграции,
В DBContext
class добавьте свойство DBSet<IdRilievo>
и получите доступ к нему изтот же объект контекста.