質問: 私は最近ADO.NET Entity Frameworkで遊んでいますが、私が開発しているプロジェクトに対する私のニーズに合っていると思います。私はまた、その非侵襲的な性質もクールだと思います。 既存のデータベースからデータモデルを生成した後は、生成されたモデルとビジネスロジックを統合するという課題に直面します。具体的には、DALインターフェイスのモック/スタブを介してデータストアとやり取りするクラスを統合テストするのに慣れています。問題は、ADO.NET Entity Frameworkが生成するエンティティがインターフェイスを持たない単純なクラスなので、ADO.NET Entity Frameworkを使用してこれを実行できないことです。 問題は、ADO.NET Entity Frameworkを使用するアプリケーションの開発に**TDDアプローチ**をどのように適用するのかということです。これでも可能ですか、それとも別のDAL生成ツールセットに移行する必要がありますか?
回答: Entity Frameworkに対する大きな批判の1つは、gefが引用したALT.Net Vote of No Confidenceなど、本質的にテストが難しいということでした。 これを回避する方法、およびEntity Frameworkを使用しているときにデータベースにアクセスせずにコードをテストできるようにする方法について説明したブログ記事です。 テスト容易性が大きな関心事である場合は、少なくともEntity Framework 2.0がリリースされるまでは、NHibernateなどの別のORMフレームワークを検討することをお勧めします。