С Entity Framework вы можете предоставить свой собственный экземпляр SqlConnection
.Затем вы можете использовать этот экземпляр для запуска транзакций.Это дает вам контроль над соединением с базой данных, что является началом.
Что касается неуправляемого кода, я бы предложил, чтобы вы позволили точку входа из DLL в управляемый код, который позволяет ей выполнять SQL на этомSqlConnection
.
Поскольку класс SqlConnection
полностью написан в управляемом коде, невозможно передать фактический дескриптор соединения в неуправляемый код и разрешить обычным неуправляемым функциям использовать это соединение.Поскольку у вас есть Entity Framework в качестве отправной точки, вам понадобится SqlConnection
, поэтому разрешение DLL отправлять операторы SQL в управляемое соединение, вероятно, будет единственным способом.