我在我的项目中安装了适用于 C# 的 Faker Port ( https://github.com/oriches/faker-cs ),但项目站点没有给出使用示例。
有人可以发布一些基本模拟数据生成的例子吗?
我在我的项目中安装了适用于 C# 的 Faker Port ( https://github.com/oriches/faker-cs ),但项目站点没有给出使用示例。
有人可以发布一些基本模拟数据生成的例子吗?
在此示例中,我使用的项目使用 MVC4、EF Code First 和自动迁移。所以如果你使用相同的,你的Migrations\Configuration.cs
文件应该是这样的:
internal sealed class Configuration : DbMigrationsConfiguration<MyProject.Models.MyProjectContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
}
...
对于单个元素,这个例子很简单:
protected override void Seed(MyProject.Models.MyProjectContext context)
{
context.Customers.AddOrUpdate(
c => c.Name,
new Customer { Name = Faker.Name.FullName() }
);
context.SaveChanges();
...
对于定义数量的元素,我喜欢使用 lambda 表达式的想法,就像Factory Girl(用于 Ruby on Rails)所做的那样。在我提出的另一个问题中(DbMigrations in .NET w/ Code First: How to Repeat Instructions with Expressions),答案用于Enumberable.Range()
指定元素数量:
protected override void Seed(MyProject.Models.MyProjectContext context)
{
context.Companies.AddOrUpdate(
p => p.Name,
Enumerable.Range(1, 10).
Select( x => new Company { Name = Faker.Company.Name() }).ToArray()
);
context.SaveChanges();
}
...