Создайте ADO.NET DataView, показывающий только выбранные столбцы

У меня была именно эта проблема, но все стандартные решения, основанные на git filter-branch, были чрезвычайно медленными. Если у вас небольшой репозиторий, то это может не быть проблемой, это было для меня. Я написал другую программу фильтрации git, основанную на libgit2, которая в качестве первого шага создает ветки для каждой фильтрации основного репозитория, а затем отправляет их для очистки репозиториев в качестве следующего шага. В моем репозитории (500Mb 100000 коммитов) стандартные методы git filter-branch заняли несколько дней. Моя программа занимает минуты, чтобы выполнить ту же фильтрацию.

Он имеет невероятное имя git_filter и живет здесь:

https://github.com/slobobaby/git_filter

на GitHub.

Надеюсь, это кому-нибудь пригодится.

9
задан John Saunders 29 July 2009 в 16:08
поделиться

3 ответа

Вы не можете этого сделать, но вы можете создать копию таблицы только с теми столбцами, которые вам нужны:

DataView view = new DataView(table);
DataTable table2 = view.ToTable("FirstColumn", "SecondColumn", "ThirdColumn");

При желании вы можете вернуть строки, которые имеют разные значения для выбранных столбцов:

DataView view = new DataView(table);
DataTable table2 = view.ToTable(true, "FirstColumn", "SecondColumn", "ThirdColumn");
16
ответ дан 4 December 2019 в 13:04
поделиться

Что ж, я не вижу причин для "желания" сделать это ... Помните, DataView - это просто список указателей на строки в исходной таблице, и, очевидно, нет возможности удалить столбцы из исходной таблицы ... по крайней мере, не затронув все остальные функции, использующие эту таблицу ... Просто используйте только те столбцы, которые вам нужны ...

1
ответ дан 4 December 2019 в 13:04
поделиться

DataSet и связанные с ним типы не могут выполнять реляционные операции.

-1
ответ дан 4 December 2019 в 13:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: