私はエンティティ フレームワークを、最新の Silverlight から WCF アプリケーションへのセルフ トラッキング エンティティ コード生成テンプレートと組み合わせて使用しています。実際のプロジェクトでエンティティ フレームワークを使用するのはこれが初めてであり、データベース スキーマが変更されたときにプロジェクトのデータ アクセス レイヤー全体を自動的に更新できるようにすることで、多くの時間と労力を節約できることを願っていました。
幸いなことに、新しいテーブルの追加、列名の変更、新しい列の追加などによるデータベース スキーマの更新は、エンティティのデータベース オプションからの更新を使用して、ビジネス オブジェクト クラスに伝播できることがわかりました。フレームワーク モデル。
私が苦しんでいるのは、Silverlight クライアントでのアクションに対応する WCF サービス内の CRUD 操作です。Silverlight アプリで同じセルフ トラッキング エンティティ フレームワーク ビジネス オブジェクトを使用していますが、オブジェクトの更新時に外部キーの関連付けが正しく処理されない、または変更トラッカーがオブジェクトの状態について混乱するなどの問題と常に戦わなければならないことがわかりました。 Silverlight エンドのオブジェクトと、WCF レイヤー内のデータ アクセス操作がぐらつきます。
独自のビジネス オブジェクトをローリングするための出発点として Linq-to-SQL を使用した以前のプロジェクトよりも、この癖に対処するのに多くの時間を費やしたところまで来ました。
それは私がどうしようもないだけなのですか、それとも自己追跡エンティティが、より成熟するまで避けるべき何かに近づいているのでしょうか?