C#
定石3: EF6 + Code First Migrationの最小コード
出典: ASP.NET MVC 5 で使える ORM 3択 — EF6 / Dapper / ADO.NET の業務SE 視点比較 — 定石3: EF6 + Code First Migrationの最小コード
// ✅定石3-a: DbContextの定義
using System.Data.Entity;
public class MyDbContext : DbContext
{
public MyDbContext(): base("name=MyDb"){ } // Web.configのMyDb接続文字列を参照
public DbSet<Customer> Customers { get; set; }
public DbSet<Order> Orders { get; set; }
}
public class Customer
{
public int Id { get; set; }
public string Name { get; set; }
public string Status { get; set; }
public virtual ICollection<Order> Orders { get; set; } // Lazy Loading
}
public class Order
{
public int Id { get; set; }
public int CustomerId { get; set; }
public decimal Amount { get; set; }
public DateTime CreatedAt { get; set; }
public virtual Customer Customer { get; set; }
}
▸ この snippet は実行結果未収録
▸ 実行結果は未収録です
Source収録記事
この snippet は記事の「定石3: EF6 + Code First Migrationの最小コード」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。
同じ記事から
6 件// ✅定石1: ADO.NET最小コード(ControllerのAction内で使う) public class CustomerController : Controller { public ActionResult Index()未収録
定石1: ADO.NETをそのまま使う最小コード
#e9cb6d6ad0b0
// ✅定石2: Dapper最小コード(SQLを書きつつマッピングは自動) using Dapper; public class CustomerController : Controller未収録
定石2: Dapperを導入する最小コード
#986f44b9773c
#初回Migrationを作成 PM> Add-Migration Initial #生成されたMigrationクラスを確認(Migrations/202605120500_Initial.cs)未収録
定石3: EF6 + Code First Migrationの最小コード
#ee07412c4f8d
// ✅定石3-b: EF6でControllerからDBアクセス public class CustomerController : Controller { private MyDbContext _db = new MyDbContext();未収録
定石3: EF6 + Code First Migrationの最小コード
#f4027ae95f4a
PM> Update-Database -Verbose #表示例: # Target database: 'MyApp_Dev' (DataSource: 'localhost', ...)未収録
3. Update-Database -Verboseの表示
#2e355dea38a5
# ✅定石4-c:本番にはScriptで安全にMigrationを適用 # 1.ローカルでScriptを生成 PM> Update-Database -Script -SourceMigration:InitialDatabase -TargetMigration:AddCustomerEmail未収録
業務系チームの運用ルール
#dc0f54b73839
