Entity Framework Code First 中的数据库初始化

Database Initialization in Entity Framework Code First

我正在学习 EF Code First。我已阅读 Database Initialization Strategies in Code-First and Understanding Database Initializers in Entity Framework Code First 篇文章。

但是我还是很疑惑,初始化前的数据应该放在哪呢?这些文章没有提到这一点,我认为这很重要。

我正在构建一个足球应用程序,因此在初始化应用程序时,我想将每支球队和球员的名字插入数据库(欧洲最好的联赛中的每支球队和球员的名字 - 所以数据量很大)。他们不会改变。他们应该在源代码中硬编码吗?或附在 xml 中?简单文件?

现在我有:在运行之前,有初始化提示(请稍等,初始化...)我读取文件,逐行插入到数据库中。好方法吗?

这取决于您在开发过程中所处的阶段。您可以在创建数据库时运行的初始化程序上使用 Seed() method。因此,如果您有大量数据并且会经常使用 DropCreate_____ 类型的初始化器更改模型 - 我建议只播种少量数据进行测试。

当您对初始设计感到满意时,您可以执行完整的 Seed() 并切换到数据库迁移来处理您的模型更改。这将保留您现有的数据,并为新数据提供自己的 Seed() 方法。

至于从哪里获取数据,你可以看看这样的东西,你可以从网络服务获取或下载到 csv,xml,等等。http://www.jokecamp.com/blog/guide-to-football-and-soccer-data-and-apis/#footballdata or here http://openfootball.github.io/