https://github.com/altmann/cherryseed
Seeding data from any source to any destination using .NET
https://github.com/altmann/cherryseed
Last synced: about 1 year ago
JSON representation
Seeding data from any source to any destination using .NET
- Host: GitHub
- URL: https://github.com/altmann/cherryseed
- Owner: altmann
- License: mit
- Created: 2016-08-06T14:07:25.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2016-10-24T18:55:19.000Z (over 9 years ago)
- Last Synced: 2025-04-12T19:09:54.588Z (about 1 year ago)
- Language: C#
- Homepage:
- Size: 538 KB
- Stars: 29
- Watchers: 4
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# What is CherrySeed?
CherrySeed is a simple .NET library built to solve a common problem - creating and seeding test data into the database. This type of code is boring to write and bringing relations under control is hard, so why not use a library for that?
# Why use CherrySeed?
- Bring relations between entities under control with an easy-to-use API
- High separation of concerns
- Data providers (defining test data via csv, json, xml, etc.)
- Repository (storing test data via O/R mapping framework of your choice)
- Some ready-to-use data providers and repositories
- High extensibility
- Custom data providers
- Custom repositories
- Custom type transformations
- Extension points
- Many types are supported out of the box (integer, string, enum, nullable types, etc.)
# How do I use CherrySeed?
var config = new CherrySeedConfiguration(cfg =>
{
// set data provider
cfg.WithDataProvider(new CsvDataProvider());
// set repository
cfg.WithGlobalRepository(new EfRepository());
// set entity specific settings
cfg.ForEntity()
.WithPrimaryKey(e => e.Identification);
});
var cherrySeeder = config.CreateSeeder();
cherrySeeder.Seed();
More see in [Getting Started](https://github.com/altmann/CherrySeed/wiki/Getting-Started).
# Resources
- [Install via NuGet](https://www.nuget.org/packages?q=CherrySeed)
- [Documentation](https://github.com/altmann/CherrySeed/wiki/Getting-Started)
# Copyright
Copyright (c) Michael Altmann. See [LICENSE](https://raw.githubusercontent.com/altmann/CherrySeed/master/LICENSE) for details.