public List <Project> FillCurrentUserProjects(string userId) { List <Project> currentProjects = new List <Project>(); //Set isolation level TransactionOptions ops = new TransactionOptions(); ops.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; //Wrapp transaction using (TransactionScope trans = new TransactionScope(TransactionScopeOption.Required, ops)) { try { var result = db.getProjectsForCurrentUser(userId); currentProjects = result.ToList(); db.SubmitChanges(); trans.Complete(); } catch (SqlException e) { MessageBox.Show(e.Message.ToString()); } catch (TransactionAbortedException tab) { MessageBox.Show(tab.Message.ToString()); } catch (TransactionInDoubtException tib) { MessageBox.Show(tib.Message.ToString()); } } return(currentProjects); }