使用/ Code First在.NET中进行Db迁移:如何使用表达式重复说明

时间:2013-07-08 03:46:02

标签: c# asp.net-mvc-4 mocking

我的项目使用ASP.NET MVC4,C#,EF Code First和Faker-cs包(https://github.com/oriches/faker-cs)。我写了这个例子来测试Faker-cs在我的Migrations\Configuration.cs文件中是如何工作的:

protected override void Seed(MyProject.Models.MyProjectContext context)
{
    context.Companies.AddOrUpdate(
        p => p.Name,
        new Company { Name = Faker.Company.Name() }
    );
}

如何重复n次对象生成?

protected override void Seed(MyProject.Models.MyProjectContext context)
{
    context.Companies.AddOrUpdate(
        p => p.Name,
        // Repeat insertion of new Companies (i.e., 10)
    );
}

1 个答案:

答案 0 :(得分:1)

使用LINQ lambda表达式,这样的东西应该起作用:

protected override void Seed(Fideli100.Models.Fideli100Context context)
{
    context.Companies.AddOrUpdate(
            p => p.Name,
            Enumerable.Range(1, 10).
            Select( x => new Company { Name = Faker.Company.Name() }).ToArray()
    );
}