Dev.Util.Data
1.2.4
See the version list below for details.
dotnet add package Dev.Util.Data --version 1.2.4
NuGet\Install-Package Dev.Util.Data -Version 1.2.4
<PackageReference Include="Dev.Util.Data" Version="1.2.4" />
<PackageVersion Include="Dev.Util.Data" Version="1.2.4" />
<PackageReference Include="Dev.Util.Data" />
paket add Dev.Util.Data --version 1.2.4
#r "nuget: Dev.Util.Data, 1.2.4"
#:package Dev.Util.Data@1.2.4
#addin nuget:?package=Dev.Util.Data&version=1.2.4
#tool nuget:?package=Dev.Util.Data&version=1.2.4
Dev.Util.Data
Lightweight data handling and mapping utilities for the Dev.Util ecosystem. Effortlessly bridge the gap between CSVs, DataReaders, and your domain objects.
📦 Installation
dotnet add package Dev.Util.Data
✨ Features
- 📊 CSV Serialization: Convert any
IEnumerable<T>to a string-compliant CSV. - 📥 CSV Deserialization: Parse CSV data directly into strongly-typed object lists.
- ⚡ IDataReader Mapping: Map database query results (
IDataReader) toList<T>using reflection. - 🛠️ Zero Dependencies: High-performance implementation without external library bloat.
🛠 Usage Examples
1. Exporting to CSV
Generate a CSV string from your objects. Properties are automatically used as headers.
using Dev.Util.Data;
var products = new List<Product>
{
new Product { Id = 1, Name = "Laptop", Price = 1200.50m },
new Product { Id = 2, Name = "Mouse", Price = 25.00m }
};
string csvData = products.ToCsv();
// Output:
// Id,Name,Price
// 1,Laptop,1200.50
// 2,Mouse,25.00
2. Importing from CSV
Parse a CSV string back into a list of objects. It automatically maps columns to property names.
using Dev.Util.Data;
string rawCsv = "Id,Name,Price\n1,Keyboard,45.00";
var list = rawCsv.FromCsv<Product>().ToList();
Console.WriteLine(list[0].Name); // "Keyboard"
3. Database to List Mapping
Stop writing manual loops to fill objects from query results.
using Dev.Util.Data;
using System.Data;
IDataReader reader = databaseCommand.ExecuteReader();
// Automatically maps columns to User properties
List<User> users = reader.ToList<User>();
4. Advanced CSV Logic
The library handles basic escaping for values containing commas or quotes.
var items = new List<LogEntry> { new LogEntry { Message = "Error, failed!" } };
string csv = items.ToCsv();
// Output: "Message" -> "Error, failed!" (escaped internally)
FromCsv<T> assumes the first row is a header. Ensure your CSV structure matches your class property names (case-insensitive).
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Dev.Util.Core (>= 1.2.4)
-
net8.0
- Dev.Util.Core (>= 1.2.4)
-
net9.0
- Dev.Util.Core (>= 1.2.4)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Dev.Util.Data:
| Package | Downloads |
|---|---|
|
Dev.Util
The complete Dev.Util ecosystem for .NET. One package to rule them all. Provides access to Core, Collections, IO, Security, Web, Reflection, Tasks, and Json modules. |
GitHub repositories
This package is not used by any popular GitHub repositories.