https://github.com/usausa/data-toolkit
🐱Data helper library.
https://github.com/usausa/data-toolkit
bulk-copy bulk-loader bulkcopy bulkloader
Last synced: 6 months ago
JSON representation
🐱Data helper library.
- Host: GitHub
- URL: https://github.com/usausa/data-toolkit
- Owner: usausa
- License: mit
- Created: 2024-08-07T02:25:35.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-16T00:51:39.000Z (about 1 year ago)
- Last Synced: 2025-04-16T02:03:09.730Z (about 1 year ago)
- Topics: bulk-copy, bulk-loader, bulkcopy, bulkloader
- Language: C#
- Homepage:
- Size: 107 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Mofucat.DataToolkit
[](https://www.nuget.org/packages/Mofucat.DataToolkit)
## ObjectDataReader
```csharp
// Source
var list = new List
[
new() { Id = 1, Value = "Name-1" },
new() { Id = 2 }
];
// ObjectDataReader
using var reader = new ObjectDataReader(list);
// BulkCopy
await using var con = new SqlConnection(ConnectionString);
await con.OpenAsync();
using var loader = new SqlBulkCopy(con);
loader.DestinationTableName = "Data";
await loader.WriteToServerAsync(reader);
```
## MappingDataReader
```csharp
// Source
var csvReader = ...
// MappingReader
var option = new MappingDataReaderOption();
option.AddColumn("Col1");
option.AddColumn("Col3");
option.AddColumn("Col5", Boolean.Parse);
using var reader = new MappingDataReader(option, csvReader);
// BulkCopy
await using var con = new SqlConnection(ConnectionString);
await con.OpenAsync();
using var loader = new SqlBulkCopy(con);
loader.DestinationTableName = "Data";
await loader.WriteToServerAsync(reader);
```
# Mofucat.DataToolkit.Avro
[](https://www.nuget.org/packages/Mofucat.DataToolkit.Avro)
## AvroDataReader
```csharp
// AvroDataReader
using var reader = new AvroDataReader(File.OpenRead("data.avro"));
// BulkCopy
await using var con = new SqlConnection(ConnectionString);
await con.OpenAsync();
using var loader = new SqlBulkCopy(con);
loader.DestinationTableName = "Data";
await loader.WriteToServerAsync(reader);
```
## AvroDataExporter
```csharp
await using var con = new SqlConnection(ConnectionString);
// AvroDataExporter
var exporter = new AvroDataExporter(con)
{
Name = "Data",
Codec = new SnappyCodec()
};
await exporter.ExportAsync(File.OpenWrite($"data-{id}.avro"), $"SELECT * FROM Data WHERE Id = {id}");
```