Как я могу использовать FluentFile в Rhino ETL DSL?
Вопрос
Я поиграл с библиотекой Rhino ETL, и мне действительно нравится направление, в котором она развивается.Однако я обнаружил, что плохая часть этого заключается в том, что документация скудна, и, похоже, недостаточно хорошей информации о том, как создавать эти конвейерные процессы и особенно использовать DSL.
Я просто пытаюсь создать DSL-файл, чтобы загрузить файл и экспортировать данные в другой файл, чтобы посмотреть, как все это может сочетаться.Пока что у меня есть вот что.
[DelimitedRecord("\t")]
class User:
public Name as string
public Phone as string
public Email as string
operation import_file:
file = Rhino.Etl.Core.Files.FluentFile(typeof(User)).From("""E:\Fake\Book1.txt""")
for row in file:
yield Row.FromObject(row)
operation export_file:
file = Rhino.Etl.Core.Files.FluentFile(typeof(User)).To("""E:\Fake\Test.txt""")
for row in rows:
record = User(Name: row["Name"])
file.Write(record)
process ImportFile:
import_file()
export_file()
Он выдает это исключение
Файл.boo(1,2):BCE0064:Boo.Lang.Компилятор.Ошибка компилятора:Не найдено атрибута с именем 'DelimitedRecord' или 'DelimitedRecordAttribute' (имена атрибутов не чувствительны к регистру).Вы имели в виду "System.Diagnostics.DelimitedListTraceListener"?
Если я удалю часть атрибута, я получу эту ошибку
Исключение:Не удалось создать файл импорта конвейера:Пользователь класса должен быть помечен атрибутом [DelimitedRecord] или [FixedLengthRecord].Исключение:Не удалось выполнить операцию File.import_file:Пользователь класса должен быть помечен атрибутом [DelimitedRecord] или [FixedLengthRecord].
Есть какие-нибудь идеи?Или есть какие-нибудь примеры того, как использовать FluentFile в DSL для Rhino ETL?
Решение
Тот Самый Атрибут DelimitedRecordAttribute находится в Помощники по работе с файлами assembly, пространство имен FileHelpers.