仅在最初创建EF代码第一个数据库时创建参考数据

问题描述 投票:0回答:1

我有一个名为“Invoice”的表,它有一个名为“PaymentTypeId”的字段,它指向另一个名为“PaymentType”的表。

首先使用EntityFramework代码,我们如何添加参考数据,例如:

PaymentTypeId: 1 | Description: Card
PaymentTypeId: 2 | Description: Cash
PaymentTypeId: 3 | Description: Cheque

但只有在首次创建数据库时?

我知道OnModelCreating覆盖,我可以从表中选择是否存在数据;我认为这是一个额外的Db电话。在初始创建数据库之后,是否还有其他东西我只能插入参考数据?

这适用于MVC5应用程序。

PS:如果已经回答,请道歉。也许我正在寻找错误的条款。

c# asp.net-mvc entity-framework ef-code-first
1个回答
2
投票

您可以覆盖种子方法。在Configuration.cs文件夹下的Migrations

protected override void Seed(YourDbContext context)
{
    context.PaymentType.AddOrUpdate(x => x.Id,
        new PaymentType() { Id = 1, Description= "Card" },
        new PaymentType() { Id = 2, Description= "Cash" },
        new PaymentType() { Id = 3, Description= "Cheque" }
        );    
}

不要忘记添加所需的命名空间。你可以看到here的详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.