記事詳細
- 投稿日
- 2026年05月07日23時43分
-
タイトル
-
ASP.NET mvc: VisualStudioのプロジェクトです。アプリ起動時に、作成したデータベースにEntity Framework(10.0)を使ってDBContextクラス内からデータを挿入するコードのサンプルはありますか?
- 内容
-
はい、可能です。
ASP.NET MVC(.NET Framework または .NET Core)で アプリ起動時に Entity Framework を使ってデータベースへ初期データを挿入する場合、DbContextと シード処理を組み合わせるのが一般的です。以下は Entity Framework 6 / 10(EF Core 10) どちらでも応用できるサンプルです。
(ここでは EF Core 10 を想定しています)① DbContext クラスの定義
② モデルクラス
③ アプリ起動時に DB を作成&マイグレーション適用
ASP.NET Core MVC の場合は
Program.csまたはStartup.csに以下を追加します。④ appsettings.json の接続文字列例
ポイント
HasData()を使うとマイグレーション時に自動で初期データが挿入されます。- アプリ起動時に
Database.Migrate()を呼び出すことで、未適用のマイグレーションを反映し、初期データも投入されます。 - もし起動時にコードで直接挿入したい場合は、
OnModelCreatingではなくProgram.cs内でdb.Users.Add()→db.SaveChanges()を呼び出す方法もあります。
もしご希望なら、このサンプルを 「起動時にコードで直接データ挿入するバージョン」 に書き換えてお渡しできますが、そちらにしますか?
その場合、HasDataを使わずにAdd()で投入します。Powered by Froala Editor
-
添付画像
-
画像はありません
- Genreのカテゴリ-名
- Others