开发者

TransactionScope and SQL Server Compact

开发者 https://www.devze.com 2023-03-20 01:15 出处:网络
SQL Server Compact doesn\'t support distributed transactions. So if there are more than one connection inside TransactionScope - the exception is thrown. Is there any way to setup ADO.NET provider to

SQL Server Compact doesn't support distributed transactions. So if there are more than one connection inside TransactionScope - the exception is thrown. Is there any way to setup ADO.NET provider to use one connection for the same connection string?

I understand I can 开发者_JAVA百科use usual transactions through connection.BeginTransaction but TransactionScope is preferable for me.

UPDATE.

Sorry, I didn't mention I work with Entity Framework, so I have no control on SQL Command. I may just pass connection string. And by some reason several connections objects created for one connection string inside TransactionScope.


Updated answer (code sample from here):

using (var context = new MyContext())
{
    using (var txscope = new TransactionScope())
    {
        context.Connection.Open();
        // do query 1
        // do query 2
    }
}

Update

Another solution, as you said, is to create a connection object and use it in constructors for the Object Context.

More information about when Entities opens new connection.


My error was that I passed connection string to ObjectContext. If I pass connection object, only one connection is used.

0

精彩评论

暂无评论...
验证码 换一张
取 消