.net 2.0: Как лучше всего обращаться с таблицами данных в памяти? - PullRequest
2 голосов
/ 08 февраля 2010

У меня есть CSV-файл, который я импортирую в DataTable.Кроме того, я создал TableAdapter с несколькими запросами.Можно ли каким-то образом выполнить запросы, связанные с TableAdapter, непосредственно в DataTable «в памяти» (не кажется таковым) или мне всегда нужно сначала записать импортированный DataTable в базу данных, а затем выполнить запросы TableAdapter впостоянные данные?Я хотел использовать datatable напрямую, так как это небольшой проект, и не стоит конвертировать данные назад и вперед из объекта-значения в datatable или использовать OR mapper.

Заранее спасибо!

BestС уважением,

Андреас

PS: Это небольшой объем данных, поэтому влияние на память не должно быть таким большим.

Ответы [ 2 ]

3 голосов
/ 08 февраля 2010

Вы можете использовать метод Select DataTable. Требуется SQL-подобный фильтр (аналогичный тому, что вы пишете в предложении where)

var table = new DataTable();

table.Columns.Add("Value");

table.Rows.Add(1);
table.Rows.Add("One");

var rows = table.Select("value='One'");

foreach (var value in rows)
    Console.WriteLine(value["Value"]);
1 голос
/ 09 февраля 2010

Загрузить весь файл в память и использовать Linq to DataSet .

Те же запросы могут прозрачно работать с базой данных SQL (Linq to SQL), но я не знаю, есть ли что-то вроде Linq to CSV или Linq to ODBC.

...