2015-07-27 5 views
-2

Я пытаюсь Совершить транзакцию из C# контекста:Сделка с контекстом дб в C#

private TestDbEntities context =new TestDbEntities(ConnectionString); 

this.context.Connection.Open(); 
System.Data.Common.DbTransaction transaction = this.context.Connection.BeginTransaction(); 
DbCommand command = this.context.Connection.CreateCommand(); 
command.CommandText = "Some Insert/Update Query"; 
command.ExecuteNonQuery(); 
transaction.Commit(); 

Но я получаю сообщение об ошибке:.

«Синтаксис запроса не является допустимым Near идентификатор TABLE_NAME , строка 1, столбец 8. "

Запрос кажется прекрасным, когда я непосредственно выполняю непосредственно на студии управления sql. Есть ли решение?

+3

Не могли бы вы предоставить вам запрос _exact_? –

+3

Запрос, который вы пытаетесь выполнить, имеет синтаксическую ошибку около 'Table_Name', поскольку ошибки указаны. – 3dd

+2

Похоже на то, что для меня довольно ясная ошибка. – Pleun

ответ

-2
SqlConnection conn = new SqlConnection(); 
SqlCommand command1 = new SqlCommand(); 
SqlCommand command2 = new SqlCommand(); 

      SqlTransaction trans = conn.BeginTransaction(); 
      command1.Transaction = trans; 
      command2.Transaction = trans; 

      try 
      { 
       command1.ExecuteNonQuery(); 
       command2.ExecuteNonQuery(); 
       trans.Commit(); 
      } 
      catch (SqlException ex) 
      { 
       trans.Rollback(); 
      } 
      finally 
      { 

      } 
+1

Вопрос не останавливается на названии. :) OP уже имеет транзакции, это их специфический запрос, вызывающий проблемы. – CodeCaster

+1

Ваш ответ, похоже, не касается реальной проблемы, с которой сталкивается ОП. Однако для будущих ответов лучше всего включить не только код, который, по вашему мнению, устранит проблему, но и некоторое письменное объяснение вашего мышления. – Nanhydrin