Ваша проблема из-за строки dtNew = q1.CopyToDataTable<DataRow>();
, потому что метод расширения CopyToDataTable
:
Возвращает DataTable, который содержит копии объектов DataRow, учитываявходной IEnumerable объект, где универсальным параметром T является DataRow.
Это означает, что имя таблицы "DTInv" будет удалено, так как после вызова CopyToDataTable dtNew
больше не ссылается на тот же DataTable
.Переместите dtNew.TableName = "DTInv";
на после вызова на CopyToDataTable
:
DataTable dtNew = new DataTable();
dtNew = q1.CopyToDataTable<DataRow>();
dtNew.TableName = "DTInv";
dsInvitee.Tables.Add(dtNew.Copy());
dsInvitee.AcceptChanges();