C#:在数据库中初始化和种子首先进行设置

时间:2015-09-29 04:50:52

标签: c# database entity-framework seeding

所以我正在使用EF6,我有一个Database First设置。我当然希望用一些数据填充我的数据库,但我似乎无法找到方法。大部分文档都涉及在Code First设置中执行此类操作,但我没有这些操作。

我的问题是,在数据库优先设置的情况下,我该如何使用数据播种数据库?

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

数据库优先意味着您创建一个数据库,然后根据它生成一些模型。您应该自己播种数据或切换到Code First。

您可以编写自己的初始化程序,但我不确定它是否是您正在寻找的东西。

答案 1 :(得分:0)

在首次启动时,或在应用程序安装结束时,您可以使用数据访问层或存储库层并填充数据。

因为这是播种,你可能会看到一些你应该绕过的场景,一些验证。这就是为什么我建议稍后使用您的DAL /存储库而不是您的服务。

例如,只需创建一个名为DatabaseSetup的类和一个静态方法(如Provision),然后创建所需的每个对象,然后将它们推送到数据库。或者,如果种子数据根据不同的方案变化,您可以从JSON文件中读取初始数据。

答案 2 :(得分:0)

总而言之,我无法通过Database First设置找到种子数据库的方法。我最终重构了我的数据层以使用Code First,我不能说我错过了DB First方法。