.NET中的DbMigrations w/Code First:如何用表达式重复指令

本文关键字:何用 表达式 指令 First DbMigrations 中的 Code NET | 更新日期: 2023-09-27 18:21:20

我的项目使用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)
    );
}

.NET中的DbMigrations w/Code First:如何用表达式重复指令

使用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()
    );
}