FlatFiles Versions Save

Reads and writes CSV, fixed-length and other flat file formats with a focus on schema definition, configuration and speed.

v4.16.0

2 years ago

v4.14.0

3 years ago

The behavior of TypedWriter.WriteAll is somewhat unintuitive when called with no records. The expectation is that the header is written when performing this bulk operation; otherwise, the caller has to explicitly call WriteSchema beforehand. This slightly changes the behavior of the code, such that it might result in headers/schema being written in cases where the file was blank before. However, when IsFirstRecordSchema is true, it is extremely unlikely consumers would expect a blank file to be generated.

During my testing, I also discovered a bug where the schema was getting set, then unset, when the header/schema record was the only record in the file. You should be able to try to Read the first record of an empty file and get false back, then get the schema via GetSchema; however, my code was throwing an InvalidOperationException or, worse, a NullReferenceException.

v4.13.0

3 years ago

The idea behind this release is to expose the raw text making up a record while parsing via the IRecordContext interface.

v4.12.0

3 years ago

v4.11.0

3 years ago

v4.10.0

3 years ago

v4.9.0

3 years ago

Make OnParsing, OnParsed, OnFormatting, OnFormatted events available to type mappings. Raise events for ignored columns.

v4.8.0

3 years ago

The code generation code was emitting code for the same types/mappings each time it was called, slowly using of memory. Instead of reusing the same dynamic assembly, a new one is created each time now.

v4.6.0

4 years ago

Allow retrieving null instead of DBNull with GetValues.

v4.5.0

5 years ago

Allow disabling quotes within delimited files.