Bogus, C# 기반의 간단한 데이터 생성기. Bogus를 사용하여 시뮬레이션 데이터를 생성하려면 규칙을 정의하고 데이터를 생성하기만 하면 됩니다. 그렇게 간단합니다. 그리고 Bogus는 고정된 데이터를 생성하거나 변경되는 데이터를 생성할 수 있습니다. 따라서 데이터를 얻은 후에는 이를 json, xml, 데이터베이스 또는 텍스트 파일 등 원하는 형식으로 직렬화할 수 있습니다.
시뮬레이션 데이터를 생성하려면 먼저 시뮬레이션 데이터에 해당하는 엔터티 클래스를 생성해야 합니다. 여기에서 명령줄 프로그램을 만들고 두 개의 클래스를 추가할 수 있습니다.
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; } }
위의 두 엔터티 클래스를 생성한 후 웨어하우스를 추가하여 시뮬레이션된 데이터를 얻을 수 있습니다. Bogus를 사용하려면 Nuget을 사용하여 프로젝트에 Bogus 라이브러리를 추가할 수 있습니다.
Install-Package Bogus
관련 튜토리얼: C# 비디오 튜토리얼
이제 시뮬레이션 데이터를 얻기 위해 웨어하우징 클래스를 추가할 수 있습니다. 여기서는 SampleCustomerRepository
클래스를 추가하고 다음 메서드를 추가합니다. 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); }
这里的第三行代码,我们为
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
rrreee
여기 코드의 세 번째 줄에서는 Randomizer.Seed
속성에 고정된 무작위 시드를 지정하므로 생성되는 데이터는 매번 동일합니다. 매번 고정된 데이터를 생성하지 않으려면 이 코드 줄을 제거하면 됩니다.
여기에서는 주문 및 고객 데이터 생성 규칙을 정의한 다음 Generate
메서드를 호출하여 시뮬레이션 데이터를 생성합니다. 그렇게 간단합니다.
Company
클래스를 사용하여 회사 이름과 같은 회사 시뮬레이션 데이터를 생성할 수 있습니다. 생성된 데이터를 프로그램의 시뮬레이션 데이터로 사용할 수 있습니다. 이 데이터에는 세 가지 사용 시나리오가 있습니다.🎜Main
메서드에 다음 코드를 추가하면 됩니다🎜rrreee🎜여기에서는 시뮬레이션 데이터를 Json 문자열로 변환하므로 여기에 Newtonsoft.Json
라이브러리에 대한 참조입니다. 프로그램을 실행하면 다음과 같은 결과를 얻을 수 있습니다. 🎜🎜🎜🎜🎜위에서 볼 수 있듯이 프로그램은 각 고객의 모든 주문 정보가 포함된 고객 데이터 세트를 생성합니다. 🎜위 내용은 Bogus를 사용하여 C#에서 시뮬레이션된 데이터를 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!