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)); }
Newtonsoft.Json ライブラリへの参照を追加する必要があります。プログラムを実行すると、次の結果が得られます。
以上がBogus を使用して C# でシミュレートされたデータを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。