ASP.NET WebAPI と EF 5.0 を使用します。データベースにクエリを実行し、オブジェクトまたはオブジェクトのコレクションをクライアントに返すデータ プロバイダーを作成しました。これはたまたま html5/angularjs アプリです。
問題はアップデートにあります。たとえば、多くの学生を持つことができるコースがあるとします。したがって、Course
テーブルと、Student
StudentId への fk を持つテーブルがあります。学生を編集する必要がある場合、EF オブジェクトには、CourseId や Course オブジェクト自体など、学生に関するすべてが含まれます。
このループ参照のため、このデータをシリアル化しようとすると WebAPI が吐き出すため、遅延読み込みがオフになります。そのため、学生の poco を取得すると Course は null になります。
そして、クライアント側でその Student を更新してから PUT を WebAPI に戻すと、 が原因で DB を更新できませんA referential integrity constraint violation occurred
。
DTO を作成することはできますが、そのルートに進む前に、この問題を克服するために検討すべき他のパターンはありますか? これを簡素化するための他のツールまたはパッケージに関する提案はありますか?