Entity Framework Coreは.NET Entity Frameworkのdotnet core版。
必要パッケージ
- Microsoft.EntityFrameworkCore
- 各DBのEntityFrameworkプロバイダ
- Microsoft.EntityFrameworkCore.Design
- 各DBのEntityFrameworkデザイナ
1,2は必須で、2は実際にデータベースにアクセスするためのドライバ。例えば、MS SQL Serverなら、Microsoft.EntityFrameworkCore.SqlServer,MySQLなら、Pomelo.EntityFrameworkCore.MySql(本家Oracleのドライバは実行時エラーが出た-もう、直ったかな?)等。
3,4はC#コードからデータベーステーブルをジェネレートするのに必要。
なお、Entity Framework関連のMigration等を行う場合、最初に下記コマンドを実行して、dotnet-efツールをインストールしておく必要がある。
dotnet tool install --global dotnet-ef
EntityやDbContext等の定義は.NET Framework版とほぼ同様だが、DBにアクセスするためのコードが必要。
通常はDbContextから派生させたクラスの、OnConfiguringメソッドをオーバーライドして
接続先などを設定する。
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.SqlServer;
・・・
public class PersonDb : DbContext {
・・・
protected override void OnConfiguring(DbContextOptionsBuilder builder) {
builder
.UseSqlServer(<接続文字列>);
}
}
}
上記は、MS SQL Serverに接続するための設定。
UseSqlServerの部分が拡張メソッドで、使用するプロバイダにより異なる。
DbContextとEntity定義のコードを作成して、下記コマンドを実行することにより、指定データベース上にテーブルが作成される。
dotnet ef migrations add <バージョン等分かりやすい名前>
dotnet ef database update
※データベースは作成しておく必要あり(?)
ちなみに、既存のテーブルから、DbContextとEntityコードを作成する事も可能。
dotnet ef dbcontext scaffold <接続文字列> <プロバイダ>
例)
dotnet ef dbcontext scaffold “Data Source=・・・” Microsoft.EntityFrameworkCore.SqlServer
上記によりDbContextを含んだソース,Entity毎のソースが作成される。






Users Today : 58
Users Yesterday : 65
Users Last 7 days : 345
Users Last 30 days : 1395
Users This Month : 1346
Users This Year : 1346
Total Users : 95861
Views Today : 64
Views Yesterday : 76
Views Last 7 days : 423
Views Last 30 days : 1601
Views This Month : 1549
Views This Year : 1549
Total views : 133995
Who's Online : 0