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