Можно ли совместно использовать одно соединение (и транзакцию) между операциями, выполненными в EF6 DB. Первый подход и некоторые операции ADO?База данных Entity Framework 6 Сначала - как обмениваться соединениями и транзакциями с ADO
Как я читаю здесь: https://msdn.microsoft.com/en-us/data/dn456843.aspx#existing можно разделить соединение и транзакции с EF v6, но я должен передать объект SqlConnection в качестве параметра конструктору класса контекста. Но если я делаю это в DB Первый подход, у меня есть UnintentionalCodeFirstException.
Как я читаю здесь: https://msdn.microsoft.com/en-us/data/jj592674 Я использую экземпляр EntityConnection в качестве параметра для конструктора класса контекста при использовании метода DB First. Но конструктор класса EntityConnection принимает только ЗАКРЫТЫЕ соединения. И поэтому я не могу обменять транзакцию, потому что соединение должно быть закрыто перед передачей в класс контекста.
Я прав, и невозможно разделить одно соединение в этом сценарии, или, может быть, есть другой способ?
Является ли TransactionScope единственным способом обертывания операций в EF 6 DB First и ADO в транзакции (с отдельными подключениями)?
могли бы вы рассказать немного о том, почему вы хотите поделиться связь? –
@RobTillie В приложении, с которым я работаю, часть кода все еще использует ADO, а другая часть использует EF. Я хочу обернуть операции в EF и ADO в транзакции. TransactionScope имеет некоторые ограничения, и MS рекомендует использовать один подход к подключению. Меньше соединений лучше. – wlodziu
Вы можете взломать это с отражением. Я сделал это с помощью ef и sqlbulkcopy. Скопировать код Cant на данный момент. –