差分
コードファースト
,==概要==
コードファーストは[[Ruby on Rails]]で大流行した方式であり、その当時は特別な呼称もなかった。後に[[マイクロソフト]]がVisual Studioで[[ER図]]として視覚的に編集できるよう発展させた[[Entity Framework]]を発表し、その際に「コードファースト」を連呼したことで一部で定着したものである。
一般的に[[RDB]]を使用するプロジェクトでは以下のようなものが乱立する。
*テーブル定義を書いた紙の仕様書
*CREATE TABLEなどを記述したSQL文
*[[データ]]を受け取るクラス
これらのうちひとつでも記載忘れなどが発生すれば[[バグ]]の温床となる。の温床となる。またこれらの記述者が異なることで理解の相似が発生し[[デスマーチ]]に発展することも多い。
そこで考えられたのが全てを主となる[[プログラミング言語]]の[[ソースコード]]で一本化しようという思想である。ひとつのクラスがひとつのテーブルとして定義される。いわゆる[[ORM]]で「SELECT」の結果を受け取るのに使用されるクラスを流用して、実行時などに「CREATE TABLE」までやってしまおうという発想であり、通常は[[ORM]]の機能として提供される。
「仕様書はソースコードの中に」という思想のもと、いきなり[[ソースコード]]から書き起こすことからコードファーストと呼ばれる。全世界で議論を呼んだ「[[ソース読め]]」の発展系であるといえる。
==主なコードファースト対応ORM==