Как запустить два контекста Entity Framework внутри TransactionScope без MSDTC?

Эта проблема не является легко воспроизводимой в простом примере здесь, но было интересно, если у кого-то есть опыт и советы, вот проблема:

с помощьюEntity Frameworkесть много точек в приложении, где (1) данные записываются в некоторыеюридическое лицо стол, например Клиент, (2) данные пишутсяистория Таблицаи то и другое из этих действий используйте Entity Framework, ОДНАКО, они используютразные контекстыэти действия должны быть как водна транзакциято есть, если один не пишет, другой не должен писать и т. д.Я могу обернуть их с TransactionScope,

как это:

using (TransactionScope txScope = new TransactionScope()) {
    ...
}

но это дает мне:

Координатор распределенных транзакций Microsoft (MSDTC) отключен для сетевых транзакций.

Администратор нашей базы данных сказал мне, чтоMSDTC отключен по выбору ине может быть установлен.

Поэтому я делаю изменения, пытаясь создать свое собственное EntityConnection с MetadataWorkspace с идеей, чтокаждый контекст будет использовать тот же EntityConnection, Тем не менее, это почти невозможно попытаться заставить его работать, например, в настоящее время я продолжаю получать вышеуказанную ошибку, хотя теоретически оба контекста используют EntityConnection. Трудно понять, где и почему Entity Framework требует MSDTC, например.

Кто-нибудь пошел по этому пути раньше, есть опыт или примеры кода, чтобы поделиться?

Ответы на вопрос(3)

Ваш ответ на вопрос