Member 12680639 Ответов: 1

Почему мои данные не вставляются из одной таблицы в другую


почему мои данные не вставляются из одной таблицы в другую с помощью linq,он показывает ошибку в dataclass.savechanges (), показывая, что новая транзакция не разрешена, потому что есть запущенные thre.

sunelikaEntities dataClass = новые sunelikaEntities();

стр ВАР = с в dataClass.счета-фактуры выберите;

cashpundit ls = новый cashpundit();

по каждому элементу (ВАР вал в СТР)
{

общ. invno = знач.invno;
общ. клиент = знач.поддержки;
общ. сумма = знач.сумма;
общ. date_of_invoice = знач.date_of_invoice;
общ. invoice_due_date = знач.invoice_due_date;
общ. modified_date = знач.modified_date;
общ. data_entry_date = знач.data_entry_date;


dataClass.cashpundits.Методы addObject ("ЛС");
dataClass.SaveChanges();

Что я уже пробовал:

по каждому элементу (ВАР вал в сто.список());

Philippe Mori

Покажите точное сообщение об ошибке. Кстати, вам, вероятно, следует создать отдельный cashpundit для каждой строки, которую вы хотите добавить.

Philippe Mori

Используйте блок кода, чтобы сделать ваш код более легким для чтения.

1 Ответов

Рейтинг:
1

Maciej Los

Следуйте приведенным ниже ссылкам, чтобы узнать, как решить вашу проблему:
c# - SqlException from Entity Framework - новая транзакция не разрешена, так как в сеансе работают другие потоки - переполнение стека[^]
c# - новая транзакция не разрешена, так как в сеансе LINQ To Entity работают другие потоки-переполнение стека[^]

Примечание: магия будет делать ToList() метод ;)

var str = (from a in dataClass.invoices select a).ToList();

или-другое решение:
foreach (var val in str.ToList())

или-другое решение:
IList str = from a in dataClass.invoices select a;
//then
foreach(YourType val in str)
//replace YourType with class which represent object to enumerate