2010-12-20 8 views
1

単体テストと組み合わせてADO.NETエンティティフレームワークを調査しています。推奨される方法は、スコット・アランによって記述されていますADO.NETエンティティフレームワークと単体テストの実際の経験

Testability and Entity Framework 4.0

記事はcode generation with POCOSを必要とします。

私の最初の印象:このアーキテクチャを導入し維持するための手作業は高くなっています。深いダイビングの前に、私はあらゆる現実世界の経験に興味があります。

答えて

1

POCOオブジェクトを使用すると単体テストが簡単になりますが、テスト可能なPOCOオブジェクトに対してLINQクエリを使用するコードを作成するのに役立ちません。 this articleをご覧ください。抽象化の背後にあるEFを非表示にし、それに対してLINQクエリを使用できるようにする方法について説明します。

+0

素晴らしい記事です。これは、テーマの詳細で貴重な精緻化です。小さなコードを置き換えてLINQ to SQLとEFを簡単に切り替える方法と、リポジトリの拡張メソッドの使い方が私に印象的です。そして、実世界の経験 - あなたの読者のコメントにいくつかを見つけました。 –

+0

可能であれば、POCOオブジェクトを使用してみてください。 POCOを使用してIMOを使用すると、おそらく最も効果的です。そして、記事の中で述べられている短いことを忘れないでください;-)。 – Steven

2

スコットは、オプションとしてPOCOテンプレートを提案していますが、必須ではありません。あなたはそれを使う必要はありません。スコットの戦略は、非POCOエンティティでも機能します。

単体テストが唯一のメリットだった場合、その努力は高くなります。しかし、よく理解されたパターンに沿って整理されたうまく構造化されたアプリケーションも得られるので、良いユニットテストは実際にスコットのアーキテクチャを使ってケーキを凍結しているだけです。

1

@Craig Stuntzが魅力的なものを追加するには、EF Futures Code-Firstをご覧ください。今はCTP5に、RC/Betaはすぐにです。私は最近2つの別々のプロジェクトのためにそれを使用してきました、そして、それは素晴らしいです。私は個人的には、これは実際にコードによって駆動されるはずです視覚的なエディタを使用して嫌い。私はPOCOがプロジェクトを書くのに素晴らしいと感じました。

関連する問題