我有一个名为“Invoice”的表,它有一个名为“PaymentTypeId”的字段,它指向另一个名为“PaymentType”的表。
首先使用EntityFramework代码,我们如何添加参考数据,例如:
PaymentTypeId: 1 | Description: Card
PaymentTypeId: 2 | Description: Cash
PaymentTypeId: 3 | Description: Cheque
但只有在首次创建数据库时?
我知道OnModelCreating覆盖,我可以从表中选择是否存在数据;我认为这是一个额外的Db电话。在初始创建数据库之后,是否还有其他东西我只能插入参考数据?
这适用于MVC5应用程序。
PS:如果已经回答,请道歉。也许我正在寻找错误的条款。
您可以覆盖种子方法。在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的详细信息。