-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Microsoft.Data.Sqlite: Support System.Transactions #13825
Comments
Marking for re-triage. Given the decision on #319, should this be closed as "wait for feedback" too? |
Any news on this? Our usecase: the Because of the transient In our unit-tests we use SQLite because of simpler setup, but this kind of transaction-control does not work with this provider. I have two choices:
Any hints on this? Thanks! |
After being forced to think about my "transient problem", it seems that I can solve it, by creating always a new scope with an Then I can call Is this the way it should be? |
Is there any news on this? |
I'd also like to know if there is any news on this. |
@dazinator This issue is in the Backlog milestone. This means that it is not going to happen for the 3.0 release. We will re-assess the backlog following the 3.0 release and consider this item at that time. However, keep in mind that there are many other high priority features with which it will be competing for resources. |
@ajcvickers Ok thanks, I'll find a workaround. |
This seems to have regressed from 2.0 to 2.1. It used to be that you would get an ignorable warning about there being an unsupported ambient transaction, but since 2.1 you get the same warning followed by a |
@mdonoughe Can you please file a new issue for this and include a small, runnable project or complete code listing that demonstrates what you are seeing. |
@dazinator You can inherit SqliteConnection and add TransactionScope support...if you can pass own connection class |
@dazinator Could you share if you found a workaround? I'm having the same issue. |
Anything new about that support? |
There is a support for that in the
|
If you (or anyone else reading this thread) decides to use System.Data.SQLite instead of Microsoft.Data.Sqlite, keep in mind this bug in the Close() function which fails to release the DB file. |
Note: this needs to happen after (or along with) pooling: if a connection is closed while the TransactionScope is still active, the connection should be placed in a special "pool", from which it would be taken out if another connection is opened within the same scope. This "optimization" allows us to not need distributed transactions as long as you never have more than one SqliteConnection open at the same time. |
Just wondering if there are any updates on this in the past couple of years?
I was attempting to prototype an implementation along similar lines. That is, inherit from |
8 years and no updates on this? |
@Xriuk yep. It has received very little votes and is on our backlog. |
Where can we vote? |
Upvote (👍) the top comment of an issue. |
Progress is being made on adding the ambient transaction functionality of System.Transactions in the .NET Core on the 1.2 timeframe, e.g. https://github.com/dotnet/corefx/issues/2949 is already fixed for 1.2 and https://github.com/dotnet/corefx/issues/12534, which will result in SqlClient supporting it in .NET Core. In the meanwhile other ADO.NET providers that work with .NET Framework already have support.
I am creating this issue so that we can make an explicit decision for our SQLite provider. As far as I can see, there are several options we can choose from:
The text was updated successfully, but these errors were encountered: