Intelligent fake data generation library and CLI for Noundry.Tuxedo ORM. Generate realistic test data with automatic foreign key and primary key relationship detection.
Generate realistic test data for your database with intelligent relationship handling and customizable fake data providers.
Automatically detects and respects foreign key relationships, ensuring referential integrity in your test data.
Built-in support for names, addresses, emails, phone numbers, and more. Easily extend with custom data generators.
Use as a command-line tool for quick test data generation or integrate directly into your .NET test projects.
Get started with Cufflink via NuGet package or CLI tool.
For integration into your test projects:
For command-line data generation:
Generate realistic test data using the library or CLI.
using Noundry.Tuxedo.Cufflink;
using Noundry.Tuxedo.Cufflink.Core;
// Define your model
public class Customer
{
public int Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public string Phone { get; set; }
}
// Generate fake data and insert directly
var engine = new CufflinkEngine();
await engine.GenerateFakeAsync(
recordCount: 1000,
connectionString: "your-connection-string",
provider: DatabaseProvider.SqlServer,
batchSize: 500);
public class Order
{
public int Id { get; set; }
public int CustomerId { get; set; } // FK to Customer
public DateTime OrderDate { get; set; }
public decimal Total { get; set; }
}
// Cufflink auto-detects FK relationships from the assembly
var engine = new CufflinkEngine();
// Generate from specific assembly - respects FK ordering
await engine.GenerateFakeAsync(
assembly: typeof(Customer).Assembly,
recordCount: 1000,
connectionString: "your-connection-string",
provider: DatabaseProvider.SqlServer);
// Or seed predefined data
await engine.SeedAsync(
seedData,
connectionString: "your-connection-string",
provider: DatabaseProvider.SqlServer);
# Generate data for a specific table
$ cufflink generate \
--table Customers \
--rows 100 \
--connection "Server=localhost;Database=TestDb;..."
✓ Generated 100 rows for Customers table
# Generate data for entire database with relationships
$ cufflink generate-all \
--connection "Server=localhost;Database=TestDb;..." \
--rows-per-table 50
✓ Analyzing schema...
✓ Generated data for 5 tables respecting FK constraints
# Export generated data to JSON
$ cufflink generate \
--table Products \
--rows 100 \
--output products.json \
--format json
Cufflink includes realistic generators for common data types.
Start using Cufflink today for intelligent fake data generation with automatic relationship handling.