Writes the results of any query (of CSV, of a database through Entity Framework Core, or in memory) as CSV: records of CsvRecordAttribute types with their generated writers, dictionaries and dynamic records by their keys, and anything else, such as anonymous types, tuples and entities, by their public members of simple types.
Writing records of types without a generated writer uses reflection on their public members, which DynamicallyAccessedMembersAttribute keeps for trimming and native AOT.
Adds records to the end of a CSV file, creating it (with a header) when it does not exist or is empty. The records are written with the file's separator and line break, after a line break when the file does not end with one, and must be written with the header the file has.
Writes records to a CSV writer, with a header first when nothing has been written yet and its options have one. The writer stays open, and is not flushed.
Writes records to a CSV writer asynchronously, with a header first when nothing has been written yet and its options have one. Records that can be read asynchronously are. The writer stays open; full buffers are written out.
Writes records to a new CSV file asynchronously, replacing any file at path. Records that can be read asynchronously (the results of CSV queries and of Entity Framework Core) are.