2013-04-11 4 views
1

В настоящее время я работаю над чтением данных счета-фактуры от SQL Server, и мне нужно экспортировать эти данные в CSV (с определенной логикой некоторые поля являются постоянными).FileHelpers: Импорт из SQL и экспорт в CSV-подход

Пример логики: CalculateTax, проверьте PaymentMethod начинается с «Cash», «кредитная карта», а затем установить флаг байтов в PaymentMethod поле CSV class т.д.

В этом случае, я должен создать только один FileHelpers class - для чтения данные? Затем отобразите поля чтения в более полезный класс, примените логику и экспортируйте ее обычным способом (как сказано here)? Но это не будет использовать возможность записи в файл FileHelpers. Было бы двусмысленно делать FileHelpers class для написания?

ответ

1

Существует так много способов чтения данных с SQL Server, в зависимости от объема записей и возможности изменения схемы, FileHelpers не всегда является лучшим решением.

Однако, если вы хотите использовать FileHelpers для этого, тогда обязательно проверьте Ayende's blog post about integrating it with RhinoETL.

Но в принципе, да, я бы использовал определение одного класса FileHelpers (только с открытыми полями) для чтения с SQL Server. Затем создайте еще один класс FileHelpers, чтобы описать желаемый вывод CSV (опять же с только публичными полями). Затем создайте класс mapper, который будет отвечать за сопоставление значений из SQL-вывода с выходом CSV (наряду с любой необходимой логикой).

+0

Нет причин создавать класс ModelObject (например, PurchaseInvoice, SalesInvoice)? Или класс сопоставления считается одним? – netdis

+0

Это действительно зависит от того, насколько сложна логика отображения. Если это просто, вам нужен только один класс. В противном случае несколько специализированных подклассов помогут сохранить его в чистоте. Ваш звонок. – shamp00

+0

Еще раз спасибо, я вижу, что вы очень активны в теге FileHelpers :) – netdis

Смежные вопросы