Jag fick det här felet och hittade några lösningar:
När du tittar på din anslutningssträng ser den giltig ut. Jag hittade det här blogginlägget, problemet här är att de använde Integrated Security. Om du kör på IIS behöver din IIS-användare åtkomst till databasen.
Om du använder Entity Framework med transaktioner, öppnar och stänger Entity Framework automatiskt en anslutning med varje databasanrop. Så när du använder transaktioner försöker du sprida en transaktion över flera anslutningar. Detta höjs till MSDTC.
(Se denna referens för mer information.)
Att ändra min kod till följande fixade det:
using (DatabaseEntities context = new DatabaseEntities())
{
context.Connection.Open();
// the rest
}