Обновление моей таблицы через EF 4.0Entity Exception произошло - PullRequest
1 голос
/ 08 февраля 2011

Я написал эти коды, чтобы обновить всю таблицу, чтобы заказать мой jobseqno:


      protected void Update()
        {
            MyEntities ctx = new MyEntities ();

                var qry = ctx.MyTable.Where(q => q.workorder == "100001076").OrderBy(q => q.id);
                dataGridView1.DataSource = qry;
                int i = 0;
                foreach (var item in qry)
                {
                    i++;
                    item.jobseqno = i.ToString();
                    ctx.SaveChanges();

                }

        }

Как обновить всю таблицу.я даю новую коллекцию номеров jobseqno.Но произошла ошибка:

Исключение EntityException не обработано

Произошла ошибка при запуске транзакции в соединении с поставщиком.Подробности см. Во внутреннем исключении:

Исключение: новая транзакция не разрешена, поскольку в сеансе запущены другие потоки

1 Ответ

2 голосов
/ 08 февраля 2011

Глядя на это сообщение в блоге, кажется, что решение состоит в том, чтобы хранить элементы, которые вы получаете из MyTable, в массив, а не напрямую работать с результатом IEnumerable.Попробуйте это:

var qry =
   ctx.MyTable
       .Where(q => q.workorder == "100001076")
       .OrderBy(q => q.id)
       .ToArray<MyTable>; // save it as a local array
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...