Я использую TransactionScope для поддержания транзакции между двумя базами данных. Я создал 2 базы данных, используя 2 разных DbContext, но я получаю ошибку во втором вызове метода SaveChanges() . Я запустил MSDTC (Distributed Transaction Coordinator) & зависимую службу, но все еще получаю ошибку.Не удалось исправить ошибку MSDTC
using (var transaction = new TransactionScope(TransactionScopeOption.Required))
{
using (var employeeContext = new EmployeeDbContext())
{
var newEmployee = new Employee { Id = 1, Name = "Pankaj" };
employeeContext.Employee.Add(newEmployee);
using (var orderContext = new OrderDbContext())
{
var newOrder = new Order { EmployeeId = 1, OrderId = 1, OrdreName = "Test", Amount = 100 };
orderContext.Order.Add(newOrder);
employeeContext.SaveChanges();
orderContext.SaveChanges();//getting error here
transaction.Complete();
}
}
}
Я не получаю сообщение об ошибке, когда я использую одного DbContext, выше только ошибка приходит с несколькими DbContext
Вот еще один вопрос о stackoverflow, который может помочь вам http://stackoverflow.com/questions/11451112/why-is-my-transactionscope-trying-to-use-msdtc-when-used-in-an-ef -code-first-app? rq = 1 – Joshit
Отлично, работайте для меня. 1-й я выполнил следующий шаг и запустил сервер MSDTC и зависимый сервер, используя учетную запись «Сетевая служба». теперь моя транзакция работает нормально :) Спасибо большое @Joshit –
@PankajRawat: Отлично! Пожалуйста :) – Joshit