所以我正在使用EF6,我有一个Database First设置。我当然希望用一些数据填充我的数据库,但我似乎无法找到方法。大部分文档都涉及在Code First设置中执行此类操作,但我没有这些操作。
我的问题是,在数据库优先设置的情况下,我该如何使用数据播种数据库?
非常感谢任何帮助。
答案 0 :(得分:1)
数据库优先意味着您创建一个数据库,然后根据它生成一些模型。您应该自己播种数据或切换到Code First。
您可以编写自己的初始化程序,但我不确定它是否是您正在寻找的东西。
答案 1 :(得分:0)
在首次启动时,或在应用程序安装结束时,您可以使用数据访问层或存储库层并填充数据。
因为这是播种,你可能会看到一些你应该绕过的场景,一些验证。这就是为什么我建议稍后使用您的DAL /存储库而不是您的服务。
例如,只需创建一个名为DatabaseSetup的类和一个静态方法(如Provision),然后创建所需的每个对象,然后将它们推送到数据库。或者,如果种子数据根据不同的方案变化,您可以从JSON文件中读取初始数据。
答案 2 :(得分:0)
总而言之,我无法通过Database First设置找到种子数据库的方法。我最终重构了我的数据层以使用Code First,我不能说我错过了DB First方法。