c#:在数据库中初始化和播种

本文关键字:初始化 数据库 | 更新日期: 2023-09-27 18:15:03

所以我正在使用EF6,我有一个数据库第一设置。当然,我希望用一些数据填充我的数据库,但我似乎找不到方法。大部分文档都涉及在"代码优先"设置中执行此类操作,但我没有任何这样的文档。

我的问题是,给定一个数据库第一设置,我如何去播种我的数据库与数据?

c#:在数据库中初始化和播种

Database首先意味着您创建了一个数据库,然后根据它生成一些模型。你应该自己播种数据,或者切换到代码优先。

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

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

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

例如,简单地创建一个名为DatabaseSetup的类和一个静态方法,如Provision,并创建您需要的每个对象,然后将它们推送到数据库。如果根据不同的场景,种子数据是可变的,也可以从JSON文件中读取初始数据。

总而言之,我无法找到一种方法来使用数据库优先设置来播种我的数据库。我最终重构了我的数据层,使用Code First,我不能说我怀念DB First方法。