2

私はEFコードファーストについて学んでいます。私はDatabase Initialization Strategies in Code-FirstUnderstanding Database Initializers in Entity Framework Code Firstの記事を読んだ。Entity Frameworkコードのデータベース初期化

私はまだ混乱していますが、初期化前のデータはどこですか?それらの記事はそれについて言及しなかったし、それはかなり重要だと思う。

私はフットボールアプリケーションを構築していますので、アプリケーションを初期化する際に、すべてのチームとプレーヤーの名前をデータベースに挿入したいと思います(ヨーロッパのベストリーグから - かなりのデータ)。彼らは変わらないでしょう。彼らはソースコードでハードコードされるべきですか?またはXMLで添付されていますか?単純なファイルですか?

私は実行する前に、初期化のプロンプトが表示されます(お待ちください、初期化...)私はファイルをデータベースに挿入してファイルを1行ずつ読み込みます。それは良い方法ですか?

答えて

2

開発プロセスがどこにあるかによって異なります。データベースの作成時に実行されるイニシャライザでSeed() methodを使用できます。あなたが大量のデータを持っていて、頻繁にDropCreate _____タイプのイニシャライザでモデルを変更する場合は、テストするために少量のデータをシードすることをお勧めします。

初期設計がうまくいったら、完全なSeed()を実行してモデルの変更を処理するデータベース移行に切り替えることができます。これにより、既存のデータが保持され、新しいデータ用の独自のSeed()メソッドがあります。

データを取得する場所については、あなたは、WebサービスからのフェッチまたはCSVにダウンロードすることができ、このような何かを見ることができ、XMLなどhttp://www.jokecamp.com/blog/guide-to-football-and-soccer-data-and-apis/#footballdataまたはここhttp://openfootball.github.io/

+0

データベースの初期化を使用する利点は何か私はDropCreateDatabaseIfModelChangesを使用し、代わりにCreateDatabaseIfNotExistsを使用するとどうなりますか? – AminM

+1

多数のスキーマを変更しており、展開に近いものでないと意味があります。物事がデザインモードのときに移行する必要はありません。 –

関連する問題