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;
// 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
var generator = new CufflinkGenerator();
var customers = generator.Generate<Customer>(100);
// Insert into database using Tuxedo
using var db = new TuxedoContext(connectionString);
await db.InsertAsync(customers);
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 automatically detects FK relationships
var generator = new CufflinkGenerator(connectionString);
// Generate customers first
generator.GenerateAndInsert<Customer>(50);
// Generate orders - CustomerId will reference existing customers
generator.GenerateAndInsert<Order>(200);
Console.WriteLine("✓ Generated 50 customers and 200 orders with valid relationships");
# 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.