Вопрос

Я поиграл с библиотекой 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top