どのように私はRhinoのETL DSLでFluentFileを使用することができますか?
質問
私は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()
これは、この例外がスローされます。
File.boo(1,2):BCE0064:Boo.Lang.Compiler.CompilerError:名前を持つ属性のDelimitedRecord 'または 'DelimitedRecordAttributeは'(属性名は大文字小文字は区別されません)は見られませんでした。もしかして 'System.Diagnostics.DelimitedListTraceListener'?
私は属性部分を削除した場合、私はこのエラーを取得します。
例外:パイプラインImportFileの作成に失敗しました:クラスのユーザーは、[DelimitedRecord]または[FixedLengthRecord]属性でマークされなければなりません。 例外:操作File.import_fileの実行に失敗しました:クラスのユーザーは、[DelimitedRecord]または[FixedLengthRecord]属性でマークされなければならない。
。ここで任意のアイデア?またはRhinoのETLのためのDSL内FluentFileを使用する方法のいずれかの例がありますか。
解決
DelimitedRecordAttribute FileHelpers のアセンブリであり、FileHelpers名前空間