Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 875841
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T11:20:22+00:00 2026-05-15T11:20:22+00:00

I would like to know how to deal with nested transactions e.g. Between one

  • 0

I would like to know how to deal with nested transactions e.g. Between
one begin and commit, I have another begin and commit. The reason I am
asking you is because in my ApplicationServices project I have
services that depends on other services. And a method of a parent
service begins a transaction and depending upon some logic, it might
have to call one of the methods of the dependent child services, that
also in turn perform begin and commit. The Child services method are
also being used independently as well directly from the controllers,
therefore I have to use begin and commit in the child services.

So in short, basically I will end up having something like this

   using( Repository1.DbContext.BeginTransaction() )
   {
      try
      {
         .....
         .....
         using( Repository2.DbContext.BeginTransaction() )
         {
            try
            {
               .....
               .....
               Repository2.DbContext.CommitTransaction()
            }
            catch
            {
               Repository2.DbContext.RollBack();
               throw;
            }
        }
        Repository1.DbContext.CommitTransaction()
      }
      catch
      {
         Repository1.DbContext.RollBack();
         throw;
      }
   }

So there are nested begins and commits. I would like to know

-what would be the behavior, when the nested Repository2 gets
committed successfully but the parent Repository1 is rollbacked ?

How can I control this behavior in code e.g.

-if I don’t want to make child transaction part of the parent
transaction.
-how to figure out wether a transaction is already running before
creating a child transaction

or if there is another elegant solution to this problem?

Thanks
Nabeel

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T11:20:23+00:00Added an answer on May 15, 2026 at 11:20 am

    NHibernate does not support nested transactions. Is the DbContext is the same for both Repository1 and Repository2? If that’s the case then they can participate in the same transaction. If not, you’ll have to split the transactions into two methods or look at the System.Transactions namespace.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I would like to know the best way to deal with long running processes
I am just starting out with Django and would like to know the best
this question is a extension of one made in Best Solution Architecture , basically
I have a PHP application and now I need to implement multi language support.
OK we have a custom ticketing system developed in PHP/PostgreSQL. How it works now
I started to think about tracking changes in complex object graph in disconnected application.
I am in my way of finishing the graphs for a paper and decided
How to get the co-ordinates of the outline shape formed using smaller grid blocks.
I'm facing some architectural problems on the project I'm involved in. The project is
i'm building a multi-lingual webapp with i18n from the ground up, and while i

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.