MVC4アプリケーションの一連の単体テストを作成しています。すべてのテストの前に削除され、再入力されるテストデータベースを作成したいと思います。そのためには、次のようなことを行うシード関数が必要です。
var project = new Project() {Name = "Project One", Description = "Watermelons make you high!"}
_context.Projects.Add(project);
var projectTwo = new Project() {Name = "Project Two", Description = "Insert your joke here"}
_context.Projects.Add(project);
など、テストするすべてのオブジェクトについて。多いほど良い。
そして、私は怠け者です。私はこれらすべてをC#で自分で書きたくありません。しかし、私が開発したWebアプリを使用して、大量のテストデータをすばやく作成することができます。
ここで問題となるのは、上記の例のように、データベース(SQL Server 2012)のデータをC#ステートメントに変換する方法です。
データベースをSQLステートメントとしてエクスポートし、スクリプトごとに毎回実行できます。ただし、モデルが変更されるたびに(新しいフィールドなど)、SQLを再作成する必要があります。また、オブジェクトがDBに配置されているため、オブジェクトにアクセスできると便利な場合もありますが、SQLスクリプトではそれができません。
もう1つのオプションは、いくつかの正規表現を作成してsql-scriptをオブジェクトに変換することです。それがどれだけの仕事かわからない。私はおそらく最後にこれを行うことになります。
では、データベース内のデータをC#オブジェクトに変換できるツールはありますか?