Open yutabee opened 1 year ago
データベースに接続したり、クエリを実行するためのパッケージのこと。 接続するデータベースによって異なる。 https://learn.microsoft.com/ja-jp/ef/core/providers/?tabs=vs
パッケージマネージャーコンソールから以下コマンドを実行
Add-Migration Initial
マイグレーションファイルを生成する。Initialはマイグレーションにつける名前。 =>2023/2/19_Initial.csというマイグレーションファイルがMigrationsフォルダに生成される。
Update-Database
作成されたマイグレーションファイルをもとにデータベースを更新する
builder.Services.AddDbContext<SampleRazorAppContext>(options =>
options.UseSqlServer(builder.Configuration.GetConnectionString("SampleRazorAppContext") ?? throw new InvalidOperationException("Connection string 'SampleRazorAppContext' not found.")));
GetConnectionString("SampleRazorAppContext")
データベースコンテキストのデフォルトで設定されているクラスが指定される。
AddDbContextの引数に設定されているoptionsは、DbContextOptionsBuilderというクラスのインスタンス。 DbContextOptionsというクラスを生成するためのビルダークラス。
このクラスをもとにデータベースの接続に関する設定をおこない、データベースコンテキストを追加している。
"ConnectionStrings": {
"SampleRazorAppContext": "Server=(localdb)\\mssqllocaldb;
Database=SampleRaz~~~~~~~~~~~~~~~~~略;
Trusted_Connection=True;MultipleActiveResultSets=true"
}
接続文字列
{
"dependencies": {
"mssql1": {
"type": "mssql",
"connectionId": "ConnectionStrings:SampleRazorAppContext"
}
}
}
Entity Frameworkとは
Modelが基本
データコンテキスト
コードファースト
C#でModelのソースコードを用意すれば、コードベースでテーブルを作成できる。
スキャフォールディング
Modelをもとに、基本的なCRUD処理を自動生成する
FormとModelのバインド