Table des matières
Générer des données de simulation
Maison développement back-end Tutoriel C#.Net Comment utiliser Bogus pour créer des données simulées en C#

Comment utiliser Bogus pour créer des données simulées en C#

Apr 29, 2019 am 11:36 AM
c c#

Bogus, un générateur de données simple basé sur C#. Pour utiliser Bogus pour générer des données de simulation, il vous suffit de définir les règles et de générer des données, c'est aussi simple que cela. Et Bogus peut générer des données fixes ou des données changeantes. Ainsi, une fois que vous obtenez les données, vous pouvez les sérialiser dans le format souhaité : json, xml, base de données ou fichier texte.

Générer des données de simulation

Afin de générer des données de simulation, nous devons d'abord créer la classe d'entité correspondante pour les données de simulation. Ici, nous pouvons créer un programme en ligne de commande et ajouter deux classes.

public class Customer
{
    public Guid Id { get; set; }
    public string Name { get; set; }
    public string Address { get; set; }
    public string City { get; set; }
    public string Country { get; set; }
    public string ZipCode { get; set; }
    public string Phone { get; set; }
    public string Email { get; set; }
    public string ContactName { get; set; }
    public IEnumerable<Order> Orders { get; set; }
}
Copier après la connexion
rrree

Après avoir créé les deux classes d'entités ci-dessus, vous pouvez ajouter un entrepôt pour obtenir des données simulées. Pour utiliser Bogus, vous pouvez utiliser Nuget pour ajouter la bibliothèque Bogus à votre projet.

Install-Package Bogus

Tutoriels associés : Tutoriel vidéo C#

Nous pouvons maintenant ajouter une classe d'entreposage Obtenez une simulation. données. Ici, nous ajoutons une classe SampleCustomerRepository et ajoutons les méthodes suivantes.

public class Order
{
    public Guid Id { get; set; }
    public DateTime Date { get; set; }
    public Decimal OrderValue { get; set; }
    public bool Shipped { get; set; }
}
Copier après la connexion

Dans la troisième ligne de code ici, nous spécifions une graine aléatoire fixe pour l'attribut Randomizer.Seed, donc les données générées sont les mêmes à chaque fois. Si vous ne souhaitez pas générer des données fixes à chaque fois, vous pouvez supprimer cette ligne de code.

Ici, nous définissons des règles pour la génération des données de commande et des clients, puis nous appelons la méthode Generate pour générer des données de simulation. C'est aussi simple que cela.

Comme vu ci-dessus, Bogus propose de nombreuses classes pour générer des données. Par exemple, la classe Company peut être utilisée pour générer des données de simulation d'entreprise, telles que le nom de l'entreprise. Vous pouvez utiliser ces données générées comme données de simulation pour votre programme. Il existe 3 scénarios d'utilisation de ces données

  • Données de test de simulation pour les tests unitaires
  • Données de simulation pour la phase de conception
  • Données de simulation du prototype

Mais je suis sûr que vous pouvez trouver plus de scénarios d'utilisation.

Afin d'utiliser ces données ici, vous pouvez ajouter le code suivant dans la méthode Main

public IEnumerable<Customer> GetCustomers()
{
    Randomizer.Seed = new Random(123456);
    var ordergenerator = new Faker<Order>()
        .RuleFor(o => o.Id, Guid.NewGuid)
        .RuleFor(o => o.Date, f => f.Date.Past(3))
        .RuleFor(o => o.OrderValue, f => f.Finance.Amount(0, 10000))
        .RuleFor(o => o.Shipped, f => f.Random.Bool(0.9f));
    var customerGenerator = new Faker<Customer>()
        .RuleFor(c => c.Id, Guid.NewGuid())
        .RuleFor(c => c.Name, f => f.Company.CompanyName())
        .RuleFor(c => c.Address, f => f.Address.FullAddress())
        .RuleFor(c => c.City, f => f.Address.City())
        .RuleFor(c => c.Country, f => f.Address.Country())
        .RuleFor(c => c.ZipCode, f => f.Address.ZipCode())
        .RuleFor(c => c.Phone, f => f.Phone.PhoneNumber())
        .RuleFor(c => c.Email, f => f.Internet.Email())
        .RuleFor(c => c.ContactName, (f, c) => f.Name.FullName())
        .RuleFor(c => c.Orders, f => ordergenerator.Generate(f.Random.Number(10)).ToList());
    return customerGenerator.Generate(100);
}
Copier après la connexion

Ici, nous convertissons les données de simulation en une chaîne Json, vous devez donc ici ajouter le Newtonsoft.Json Référence à la bibliothèque. Après avoir exécuté le programme, vous obtiendrez les résultats suivants.

Comment utiliser Bogus pour créer des données simulées en C#

Comme vous pouvez le voir ci-dessus, le programme génère un ensemble de données client avec toutes les informations de commande pour chaque client.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Active Directory avec C# Active Directory avec C# Sep 03, 2024 pm 03:33 PM

Guide d'Active Directory avec C#. Nous discutons ici de l'introduction et du fonctionnement d'Active Directory en C# ainsi que de la syntaxe et de l'exemple.

Générateur de nombres aléatoires en C# Générateur de nombres aléatoires en C# Sep 03, 2024 pm 03:34 PM

Guide du générateur de nombres aléatoires en C#. Nous discutons ici du fonctionnement du générateur de nombres aléatoires, du concept de nombres pseudo-aléatoires et sécurisés.

Vue Grille de données C# Vue Grille de données C# Sep 03, 2024 pm 03:32 PM

Guide de la vue Grille de données C#. Nous discutons ici des exemples de la façon dont une vue de grille de données peut être chargée et exportée à partir de la base de données SQL ou d'un fichier Excel.

Modèles en C# Modèles en C# Sep 03, 2024 pm 03:33 PM

Guide des modèles en C#. Nous discutons ici de l'introduction et des 3 principaux types de modèles en C# ainsi que de ses exemples et de l'implémentation du code.

Sérialisation C# Sérialisation C# Sep 03, 2024 pm 03:30 PM

Guide de sérialisation C#. Nous discutons ici de l'introduction, des étapes de l'objet de sérialisation C#, du fonctionnement et de l'exemple respectivement.

Services Web en C# Services Web en C# Sep 03, 2024 pm 03:32 PM

Guide des services Web en C#. Nous discutons ici d'une introduction aux services Web en C# avec l'utilisation de la technologie, ses limitations et des exemples.

Nombres premiers en C# Nombres premiers en C# Sep 03, 2024 pm 03:35 PM

Guide des nombres premiers en C#. Nous discutons ici de l'introduction et des exemples de nombres premiers en c# ainsi que de l'implémentation du code.

Filtre DataTable C# Filtre DataTable C# Sep 03, 2024 pm 03:33 PM

Guide du filtre DataTable C#. Nous discutons ici de l'introduction, comment filtrer DataTable en C# ? et des exemples respectivement.

See all articles