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