This SqlTransaction has completed; it is no longer usable during Linq to Sql dataContext.SubmitChanges
up vote
0
down vote
favorite
I seem to have the a similar issue as is cited here, but there are no satisfactory answers on that post - This SqlTransaction has completed; it is no longer usable.
Specifically, I use InsertOnSubmit to insert 100 objects into one of the tables in my data context, and then I call SubmitChanges on the data context. Every once in a while, when I call SubmitChanges, I get the error in the title of this question.
I create a new data context just after the SubmitChanges every 500 records. So my code looks like this:
DataContext writeDataContext = new DataContext(myConnectionString);
List<MyCalculation> calculationsToAdd = new List<MyCalculation>();
foreach (var transaction in transactions)
{
var myCalculation = new MyCalculation { MyTransactionID = transaction.TransactionID, MyValue = transaction.Amount * 2 };
writeDataContext.GetTable<MyCalculation>().InsertOnSubmit(myCalculation);
calculationsToAdd.Add(myCalculation);
contextCounter++;
if (calculationsToAdd.Count == 100)
{
writeDataContext.SubmitChanges();
calculationsToAdd.Clear();
if (contextCounter >= 500)
{
writeDataContext = new DataContext(myConnectionString);
contextCounter = 0;
}
}
}
In another spot I also have seen this error, and what I'm doing there is even simpler - refreshing the data context just after the SubmitChanges every time that I submit changes.
I've looked on the internet, and am not finding anything to help. Any suggestions will be very welcome! Thanks in advance!
linq-to-sql transactions submitchanges
add a comment |
up vote
0
down vote
favorite
I seem to have the a similar issue as is cited here, but there are no satisfactory answers on that post - This SqlTransaction has completed; it is no longer usable.
Specifically, I use InsertOnSubmit to insert 100 objects into one of the tables in my data context, and then I call SubmitChanges on the data context. Every once in a while, when I call SubmitChanges, I get the error in the title of this question.
I create a new data context just after the SubmitChanges every 500 records. So my code looks like this:
DataContext writeDataContext = new DataContext(myConnectionString);
List<MyCalculation> calculationsToAdd = new List<MyCalculation>();
foreach (var transaction in transactions)
{
var myCalculation = new MyCalculation { MyTransactionID = transaction.TransactionID, MyValue = transaction.Amount * 2 };
writeDataContext.GetTable<MyCalculation>().InsertOnSubmit(myCalculation);
calculationsToAdd.Add(myCalculation);
contextCounter++;
if (calculationsToAdd.Count == 100)
{
writeDataContext.SubmitChanges();
calculationsToAdd.Clear();
if (contextCounter >= 500)
{
writeDataContext = new DataContext(myConnectionString);
contextCounter = 0;
}
}
}
In another spot I also have seen this error, and what I'm doing there is even simpler - refreshing the data context just after the SubmitChanges every time that I submit changes.
I've looked on the internet, and am not finding anything to help. Any suggestions will be very welcome! Thanks in advance!
linq-to-sql transactions submitchanges
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I seem to have the a similar issue as is cited here, but there are no satisfactory answers on that post - This SqlTransaction has completed; it is no longer usable.
Specifically, I use InsertOnSubmit to insert 100 objects into one of the tables in my data context, and then I call SubmitChanges on the data context. Every once in a while, when I call SubmitChanges, I get the error in the title of this question.
I create a new data context just after the SubmitChanges every 500 records. So my code looks like this:
DataContext writeDataContext = new DataContext(myConnectionString);
List<MyCalculation> calculationsToAdd = new List<MyCalculation>();
foreach (var transaction in transactions)
{
var myCalculation = new MyCalculation { MyTransactionID = transaction.TransactionID, MyValue = transaction.Amount * 2 };
writeDataContext.GetTable<MyCalculation>().InsertOnSubmit(myCalculation);
calculationsToAdd.Add(myCalculation);
contextCounter++;
if (calculationsToAdd.Count == 100)
{
writeDataContext.SubmitChanges();
calculationsToAdd.Clear();
if (contextCounter >= 500)
{
writeDataContext = new DataContext(myConnectionString);
contextCounter = 0;
}
}
}
In another spot I also have seen this error, and what I'm doing there is even simpler - refreshing the data context just after the SubmitChanges every time that I submit changes.
I've looked on the internet, and am not finding anything to help. Any suggestions will be very welcome! Thanks in advance!
linq-to-sql transactions submitchanges
I seem to have the a similar issue as is cited here, but there are no satisfactory answers on that post - This SqlTransaction has completed; it is no longer usable.
Specifically, I use InsertOnSubmit to insert 100 objects into one of the tables in my data context, and then I call SubmitChanges on the data context. Every once in a while, when I call SubmitChanges, I get the error in the title of this question.
I create a new data context just after the SubmitChanges every 500 records. So my code looks like this:
DataContext writeDataContext = new DataContext(myConnectionString);
List<MyCalculation> calculationsToAdd = new List<MyCalculation>();
foreach (var transaction in transactions)
{
var myCalculation = new MyCalculation { MyTransactionID = transaction.TransactionID, MyValue = transaction.Amount * 2 };
writeDataContext.GetTable<MyCalculation>().InsertOnSubmit(myCalculation);
calculationsToAdd.Add(myCalculation);
contextCounter++;
if (calculationsToAdd.Count == 100)
{
writeDataContext.SubmitChanges();
calculationsToAdd.Clear();
if (contextCounter >= 500)
{
writeDataContext = new DataContext(myConnectionString);
contextCounter = 0;
}
}
}
In another spot I also have seen this error, and what I'm doing there is even simpler - refreshing the data context just after the SubmitChanges every time that I submit changes.
I've looked on the internet, and am not finding anything to help. Any suggestions will be very welcome! Thanks in advance!
linq-to-sql transactions submitchanges
linq-to-sql transactions submitchanges
edited Nov 21 at 17:50
asked Nov 21 at 17:44
user756366
114113
114113
add a comment |
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53417826%2fthis-sqltransaction-has-completed-it-is-no-longer-usable-during-linq-to-sql-dat%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown