最近、 Pro ASP.NETMVCFrameworkを読み始めました。
著者は、リポジトリを作成し、インターフェースを使用して迅速な自動テストを設定することについて話します。これは素晴らしいですね。
ただし、ORMを使用してC#データアクセスクラスを自動生成する代わりに、データベース内の各テーブルのすべてのフィールドを2回宣言する必要があるという問題があります。1回は実際のデータベースで、もう1回はC#コードで宣言します。
これは素晴らしいプラクティスであり、見た目も素晴らしいTDDを可能にすることを私は理解しています。しかし、私の質問は次のとおりです。
データベースとC#コードの両方でフィールドを2回宣言する必要がある回避策はありませんか?C#コードを自動生成するものを使用することはできませんが、C#ですべてのビジネスロジックを手動で作成したり、テーブルごとにリポジトリ(および偽のロジック)を作成したりすることなく、TDDを実行できますか?