目次
シミュレーション データの生成
ホームページ バックエンド開発 C#.Net チュートリアル Bogus を使用して C# でシミュレートされたデータを作成する方法

Bogus を使用して C# でシミュレートされたデータを作成する方法

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

Bogus、C# ベースのシンプルなデータ ジェネレーター。 Bogus を使用してシミュレーション データを生成するには、ルールを定義してデータを生成するだけで、とても簡単です。また、Bogus は固定データまたは変更データを生成できます。したがって、データを取得したら、それを必要な形式 (json、xml、データベース、またはテキスト ファイル) にシリアル化できます。

シミュレーション データの生成

シミュレーション データを生成するには、まずシミュレーション データに対応するエンティティ クラスを作成する必要があります。ここではコマンドラインプログラムを作成し、2 つのクラスを追加できます。

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; }
}
ログイン後にコピー
public class Order
{
    public Guid Id { get; set; }
    public DateTime Date { get; set; }
    public Decimal OrderValue { get; set; }
    public bool Shipped { get; set; }
}
ログイン後にコピー

上記の 2 つのエンティティ クラスを作成した後、ウェアハウスを追加してシミュレートされたデータを取得できます。 Bogus を使用するには、Nuget を使用してプロジェクトに Bogus ライブラリを追加します。

Install-Package Bogus

関連チュートリアル: C# ビデオ チュートリアル

次に、ウェアハウジング クラスを追加します。データ。ここでは、SampleCustomerRepository クラスを追加し、次のメソッドを追加します。

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);
}
ログイン後にコピー

コードの 3 行目では、Randomizer.Seed プロパティに固定ランダム シードを指定しているため、生成されるデータは毎回同じになります。毎回固定データを生成したくない場合は、このコード行を削除できます。

ここでは、注文データと顧客データの生成ルールを定義し、Generate メソッドを呼び出してシミュレーション データを生成します。それはとても簡単です。

上記のとおり、Bogus はデータを生成するための多くのクラスを提供しています。たとえば、Company クラスを使用して、会社名などの会社シミュレーション データを生成できます。生成されたこれらのデータは、プログラムのシミュレーション データとして使用できます。これらのデータには 3 つの使用シナリオがあります。

  • 単体テスト用のシミュレーション テスト データ
  • 設計フェーズ用のシミュレーション データ
  • プロトタイプのシミュレーションデータ
##しかし、さらに多くの使用シナリオが見つかると思います。

ここでこれらのデータを使用するには、次のコードを

Main メソッドに追加します。

static void Main(string[] args)
{
    var repository = new SampleCustomerRepository();
    var customers = repository.GetCustomers();
    Console.WriteLine(JsonConvert.SerializeObject(customers, 
        Formatting.Indented));
}
ログイン後にコピー
ここではシミュレーション データを Json 文字列に変換します。

Newtonsoft.Json ライブラリへの参照を追加する必要があります。プログラムを実行すると、次の結果が得られます。

Bogus を使用して C# でシミュレートされたデータを作成する方法

#上記のとおり、プログラムは各顧客のすべての注文情報を含む顧客データ セットを生成します。

以上がBogus を使用して C# でシミュレートされたデータを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

C# を使用した Active Directory C# を使用した Active Directory Sep 03, 2024 pm 03:33 PM

C# を使用した Active Directory のガイド。ここでは、Active Directory の概要と、C# での動作方法について、構文と例とともに説明します。

C# の乱数ジェネレーター C# の乱数ジェネレーター Sep 03, 2024 pm 03:34 PM

C# の乱数ジェネレーターのガイド。ここでは、乱数ジェネレーターの仕組み、擬似乱数の概念、安全な数値について説明します。

C# データ グリッド ビュー C# データ グリッド ビュー Sep 03, 2024 pm 03:32 PM

C# データ グリッド ビューのガイド。ここでは、SQL データベースまたは Excel ファイルからデータ グリッド ビューをロードおよびエクスポートする方法の例について説明します。

C# のパターン C# のパターン Sep 03, 2024 pm 03:33 PM

C# のパターンのガイド。ここでは、C# のパターンの概要と上位 3 種類について、その例とコード実装とともに説明します。

C# の階乗 C# の階乗 Sep 03, 2024 pm 03:34 PM

C# の Factorial のガイド。ここでは、C# での階乗の概要について、さまざまな例とコード実装とともに説明します。

C# の素数 C# の素数 Sep 03, 2024 pm 03:35 PM

C# の素数ガイド。ここでは、C# における素数の導入と例を、コードの実装とともに説明します。

マルチスレッドと非同期C#の違い マルチスレッドと非同期C#の違い Apr 03, 2025 pm 02:57 PM

マルチスレッドと非同期の違いは、マルチスレッドが複数のスレッドを同時に実行し、現在のスレッドをブロックせずに非同期に操作を実行することです。マルチスレッドは計算集約型タスクに使用されますが、非同期はユーザーインタラクションに使用されます。マルチスレッドの利点は、コンピューティングのパフォーマンスを改善することですが、非同期の利点はUIスレッドをブロックしないことです。マルチスレッドまたは非同期を選択することは、タスクの性質に依存します。計算集約型タスクマルチスレッド、外部リソースと相互作用し、UIの応答性を非同期に使用する必要があるタスクを使用します。

XMLを単語に変換する方法 XMLを単語に変換する方法 Apr 03, 2025 am 08:15 AM

XMLを単語に変換するには、Microsoft Wordの使用、XMLコンバーターの使用、またはプログラミング言語の使用方法が3つあります。

See all articles