i have following code: var test = new fallenvironmentalcondition[] { new fallenvironmentalcondition {id=40,fallid=3,environmentalconditionid=1}, new fallenvironmentalcondition {id=41,fallid=3,environmentalconditionid=2}, new fallenvironmentalcondition {id=42,fallid=3,environmentalconditionid=3} }; test.tolist().foreach(async x => await conn.updateasync(x)); i getting invalidoperationexception: connection not support multipleactiveresultsets i don't understand await ing each update why getting error. note: have no control on connection string can't turn mars on. that code starts task each item in list, not wait each task complete before starting next one. inside each task waits update complete. try enumerable.range(1, 10).tolist().foreach(async => await task.delay(1000).continuewith(t => console.writeline(datetime.now))); which equivalent foreach (var in enumerable.range(1, 10).tolist() ) { var task = task...