title: Why there is no BEGIN TRANSACTION statment in SQL Profiler
body: <p>I have two POCO objects, Customer and CustomerAddress as follows. </p>
  
  <pre><code>public partial class Customer
      {
          public Customer()
          {
              this.CustomerAddresses = new HashSet&lt;CustomerAddress&gt;();
              this.Orders = new HashSet&lt;Order&gt;();
          }
  
          public int ID { get; set; }
          public string LastName { get; set; }
          public string FirstName { get; set; }
          public string MiddleName { get; set; }
          public System.DateTime DateOfBirth { get; set; }
          public byte Gender { get; set; }
  
          public virtual ICollection&lt;CustomerAddress&gt; CustomerAddresses { get; set; }
          public virtual ICollection&lt;Order&gt; Orders { get; set; }
      }
  
  public partial class CustomerAddress
      {
          public int ID { get; set; }
          public int CustomerID { get; set; }
          public byte AddressType { get; set; }
          public string Street { get; set; }
          public string City { get; set; }
          public string State { get; set; }
          public string Country { get; set; }
  
          public virtual Customer Customer { get; set; }
      }
  </code></pre>
  
  <p>I am creating a new Customer object as follows.</p>
  
  <pre><code>Customer cust = new Customer();
              cust.ID = 9;
              cust.LastName = "Ross";
              cust.FirstName = "Taylor";
              cust.DateOfBirth = DateTime.Now;
              cust.Gender = 0;
  
              CustomerAddress custAdd = new CustomerAddress();
              custAdd.ID = 9;
              custAdd.Customer = cust;
              custAdd.AddressType = 0;
              custAdd.Street = "1 Main Street";
              custAdd.City = "Princeton";
              custAdd.State = "CA";
              custAdd.Country = "USA";
  
              DbConnection MyContext = new DbConnection(); ;
              MyContext.Customers.Add(cust);
              MyContext.CustomerAddresses.Add(custAdd);
              MyContext.SaveChanges();
  </code></pre>
  
  <p>I launch SQL Profiler.  When this data is been saved, there are two insert script run against database, one for Customer and other for CustomerAddress. But my confusion is that I don't see any BEGIN TRANSACTION and COMMIT statements in SQL Profiler. If for some reason insert script for CustomerAddress fail, I would like whole transaction to fail and I am not sure if I will get it without a BEGIN TRANSACTION. Is there something I am doing wrong here? </p>