コード ファーストと自動移行を備えた Entity Frameworkは、使用できる最も簡単な ORM の 1 つです。柔軟性があり、Microsoft スタックで十分にサポートされており、データベースを開発する最速の方法の 1 つであるコード ファーストを使用します。
最初に Entity Framework コードを使用して、データ モデルを通常の C# クラスとして定義します。これは Product テーブルに対応します。
public Product {
public int Id { get; set; }
public string Name { get; set; }
}
データベース コンテキストを作成します。
public MyDbContext : DbContext {
public DbSet<Product> Products { get; set; }
}
接続文字列を Web.config に追加し、パッケージ マネージャー コンソールでコマンドを実行します。
>Enable-Migrations –EnableAutomaticMigrations
>Update-Database
これで、Products テーブルを含む機能データベースが作成されました。クラスに変更を加えたら、Update-Database をもう一度実行するだけで、スキーマが移行されます。
新しい製品を追加するには:
using (var db = new MyDbContex()
{
Product product = new Product() { Id = 1, Name = "Tablet" };
db.Products.Add(product);
db.SaveChanges();
}
データのクエリは次のように簡単になります。
using (var db = new MyDbContex()
{
// get product with id == 1
Product product = db.Products.Single(p => p.Id == 1);
}
リポジトリ パターンに関しては、単なる設計パターンです。リポジトリ パターンにはさまざまなバリエーションがありますが、実際にはデータ ストアをデータ アクセス レイヤーから分離することが重要です。これにより、存在する外部データベースに依存する必要がなく、単体テストが容易になります。
コメントから編集: EF とストアド プロシージャを使用する方法はいくつかあります。Entity Framework Code First はストアド プロシージャをサポートしていますか?を参照してください。およびストアド プロシージャを使用してデータを挿入する。