I think it is not possible. Mapping IsolationLevel <-> DbTransactionBuffer is hardcoded in FB.NET library. I know that EF I can use IDbCommandInterceptor and DbInterception.Add(suppressor); This allows to override transactions.
In your framework could be something similar. On 31 January 2016 at 09:20, Kjell Rilbe <kj...@rilbe.se> wrote: > den 2016-01-30 20:23, skrev Геннадий Забула: >> On 30 January 2016 at 12:44, Kjell Rilbe <kj...@rilbe.se> wrote: >>> Hi, >>> >>> Using a framework that's "database agnostic", I am able to choose a >>> value for transaction isolation level using the >>> System.Data.IsolationLevel enum. I can't find a way to enter a >>> FbTransationOptions struct or FbTransactionBehavior value. >>> >>> Using System.Data.IsolationLevel, it seems I get transactions with >>> behavior ReadCommitted + NoRecVersion. I would like to have RecVersion >>> instead of NoRecVersion. >>> >>> Any suggestions? >>> >>> >> I'm using custom extension function, that takes DbContext and >> depending on Database.Connection type creates manually tuned >> transaction for FB case. >> https://gist.github.com/zabulus/1e46010094e1b6678729 >> Here is snippet > > Nice, but I assume this is a function that you manually call in your own > code, instead of the regular DbConnection.BeginTransaction? > > The problem is that the framework I'm using does it all under the hood: > opens connection, starts and ends transactions and executes SQL. I add > the DbConnection component I need to my form, in my case an > FbConnection, and configure my framework's persistence handler to use > that connection. The persistence handler has a lot of settings for the > SQL connection, but for fetch and write transaction mode it uses the > standard System.Data.IsolationLevel enum type, so there's no way to > configure FireBird specific transaction options. > > What I need is some way to hook into the FbConnection's call to start a > transaction, or "globally" configure it to a specific transaction > option/mode/isolation level, either overriding the > System.Data.IsolationLevel that the framework's persitence handler > passes in, or map it in a different way than apparently is standard for > the Firebird .Net provider. I.e. map ReadCommitted to ReadCommitted + > RecVersion + NoWait rather than ReadCommitted + NoRecVersion + NoWait. > > Possible? Inherit from FbCOnnection and override BeginTransaction and > use that (derived) component in place of FbConnection? > > Kjell > > -- > --------------------------------------------------------------------------- > Kjell Rilbe <kj...@rilbe.se> > Telefon: 0733-44 24 64 (+46 733 442464) > --------------------------------------------------------------------------- > "If there's a price for bein' me, that's one I'll have to pay" > Aaron Tippin > --------------------------------------------------------------------------- > > > > ------------------------------------------------------------------------------ > Site24x7 APM Insight: Get Deep Visibility into Application Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > _______________________________________________ > Firebird-net-provider mailing list > Firebird-net-provider@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/firebird-net-provider ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 _______________________________________________ Firebird-net-provider mailing list Firebird-net-provider@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-net-provider