内容
ASP.NET Core MVC Entity Framework コードファースト(Code First)を利用して、Companyクラスからデータベースを構築し、スキャフォールディング(Scaffolding)機能を実装する。
環境
- Windows 10
- Visual Studio 2017
- Microsoft Edge
- SQL Serve 2017
- Microsoft SQL Server Management Studio 17
- ASP.NET Core2.2
- Windows PowerShell
手順
1.Visual Studio 2017起動 → 新しいプロジェクトの作成 → ASP.NET Core Webアプリケーション を選択
プロジェクト名、保存場所を指定して OK ボタンを押す。
2.Web アプリケーション(モデル ビュー コントローラ )を選択 → 認証の変更ボタンを押す
4.認証 が 個別のユーザーアカウントに変更されているのを確認 → OK ボタンを押す
6.F5 ボタン(デバッグ開始)を押して、動作を確認する → Microsoft Edge が立ち上がって、Home画面が表示される
7.Models フォルダ内にCompanyクラスを作成する
namespace WebApplication1.Models
{
public class Company
{
public int Id { get; set; }
public string Name { get; set; }
}
}
8.新規スキャフォールディングアイテムを追加する
Controllersフォルダ右クリック → 追加 → 新規スキャフォールディングアイテム
→ Entity Framework を使用したビューがある MVCコントローラ を選択して 追加 ボタンを押す
→ モデルクラス(Company)とデータコンテキストクラス を設定して 追加ボタンを押す
9.Controllersフォルダ内に、CompaniesController.cs が作成される
10.Views フォルダ内に Companies フォルダが作成されて、そのなかに Create.cshtml, Delete.cshtml, Details.cshtml, Edit.cshtml, Index.cshtml が作成される
11.データベース接続文字の修正
appsettings.json を開いて、接続文字を修正する
Server=(localdb)\mssqllocaldb を Server=localhost\SQLEXPRESS に修正
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost\\SQLEXPRESS;Database=aspnet-WebApplication1-B61014F3-4288-42CC-82EA-CAC2D4F327EF;Trusted_Connection=True;MultipleActiveResultSets=true"
},
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*"
}
12.PowerShell を起動 → プロジェクトのディレクトリに移動 → dotnet ef コマンドを実行
dotnet ef migrations add Initial
dotnet ef database update
13.Dataフォルダ、Migrationsフォルダ内に 20191001055138_Initial.cs が作成されている
14.データベースを確認する
SQL Server Management Studio からデータベースを確認する
接続文字と同じ名前のデータベースが作成されている
15.テーブルを確認する
→ IdとNameを持つ、テーブルが作成されている
16.F5 ボタン(デバッグ開始)を押して、動作を確認する
アドレスの最後を Companies にする → Index 画面が表示される
18.登録されたデータが Index 画面に表示される
Edit 選択で編集、Details で詳細表示、 Delete で削除できる
19.完成