Я пытаюсь реализовать транзакцию с каркасом сущностей 4. Из того, что я прочитал, приведен правильный код. SaveChanges работает нормально, но как только я попал в первый вызов ExecuteFunction я получаю следующее исключение:проблема с транзакцией с инфраструктурой сущностей 4
основной поставщик не удалось на Open. ---> System.Transactions.TransactionManagerCommunicationException: Доступ к сети для распределенного Оператор транзакций (MSDTC) отключен . Пожалуйста, включите DTC для доступ к сети в конфигурации безопасности для MSDTC с использованием . Службы административного администрирования .
Я зарегистрировался на сервере базы данных, и я не вижу службу под названием Distributed Transaction Manager, но я вижу диспетчер распределенных транзакций и запускается. Я не уверен, что мне нужно изменить, чтобы это работало. Кто-нибудь знает? Благодарю.
Вот код.
using (var h = new WhaleEntities(ConnectionHelper.DBConnectString))
{
using (TransactionScope ts = new TransactionScope())
{
h.Sites.AddObject(s);
h.SaveChanges(SaveOptions.DetectChangesBeforeSave);
retval = s.SiteID;
h.ExecuteFunction("UpdateSiteInterfaceList", new ObjectParameter("pSiteID", retval), new ObjectParameter("pList", "10"));
h.ExecuteFunction("UpdateSiteInterfaceRequiredList", new ObjectParameter("pSiteID", retval),new ObjectParameter("pList", "Email"));
h.ExecuteFunction("UpdateSiteInterfaceAlwaysShownList", new ObjectParameter("pSiteID", retval),new ObjectParameter("pList", "10"));
h.ExecuteFunction("UpdateSiteInterfaceAlwaysRequiredList",new ObjectParameter("pSiteID", retval),new ObjectParameter("pList", "Email"));
ts.Complete();
//changes must be accepted manually once transaction succeeds.
h.AcceptAllChanges();
}
}