Я пытаюсь выполнить следующее:
SqlConnection cnSql = new SqlConnection(cnstring);
cnSql.Open();
SqlTransaction Transactie = default(SqlTransaction);
Transactie = cnSql.BeginTransaction();
SqlCommand cmddelbonh = new SqlCommand();
cmddelbonh.Connection = Transactie.Connection;
cmddelbonh.Transaction = Transactie;
cmddelbonh.CommandText = "update artikelgroepen set OMSN='XXXXX' where ID = 3";
cmddelbonh.ExecuteNonQuery();
using (CXNACC_TESTFIRMA cxn = new CXNACC_TESTFIRMA(cnSql))
{
cxn.Database.UseTransaction(Transactie);
var myList = cxn.ARTIKELS.Take(100).ToList();
cxn.ARTIKELS.First().OMSN = "XXXXX";
cxn.SaveChanges();
}
Transactie.Commit();
Эта строка cxn.Database.UseTransaction(Transactie); входит в OnModelCreating в контексте и выдает UnintentionalCodeFirstException
При комментировании throw new UnintentionalCodeFirstException это работает, но мне не нравится комментировать ошибку, которая в любом случае не должна вызываться.
Я погуглил, но не нашел ответов о том, как использовать функцию UseTransaction EF6 в контексте базы данных.
Прежде чем вы спросите: connectionString для Entity присутствует в app.config.
Любые мысли по этому поводу, пожалуйста?
Спасибо
using (CXNACC_TESTFIRMA cxn = new CXNACC_TESTFIRMA(cnSql))
), будет использовать стратегию "сначала код" для построения контекста. Я также хотел бы найти способ использовать функцию UseTransaction EF6 с базой данных в первую очередь, потому что до сих пор мне это не удалось, но я боюсь, что это даже невозможно. - person Learner   schedule 08.07.2014