私が抱えている問題を解決する方法について、いくつかの提案が必要です。いくつかの異なるオプションを試しましたが、制限に次ぐ制限に達しました。ここで何が起こっているかの簡単な概要です...
CRUD 操作を実装するために必要な構成データを保持する 40 のテーブルがあります。Telerik MVC Grid を使用する必要があり、できれば INLINE 編集を使用する必要があります。元の状態と変更されたプロパティを 1 つのオブジェクトで管理する必要があります。そのオブジェクトは後でデータベースにシリアル化され、後で承認されます。
40 個のモデル、40 個のビュー、120 個の crud メソッド (削除なし) を作成する代わりに、フィールド名を除いてすべて同じコードを密接に共有します。私は、40 個のモデル (おそらく?)、1 つのビュー、3 つの crud メソッドを持つことができるように、これを十分に一般的なものにする方法を作成しようとしています。
私はさまざまな分野で制限に直面しています:
- WCF はジェネリックをサポートしていません
- Telerik グリッドは動的型をサポートしていません
- WCF はメソッドとプライベート プロパティをそのまま保持しません
- 私たちはMEFも使用しているので、これはプラグイン内のプラグインです..私は知っています..
- メソッドを WCF レイヤーに追加することは許可されていません...
私のアイデア?状態を保持するクラスを作成してみようと思いました。ManagedState と呼んでください。私はもともとテーブルモデルがそれを継承することを望んでおり、変更を追跡するためにリンクしていましたが、これは機能していませんでした.
また、ManagedState クラスを構成クラスとは別に使用し、それを厳密に使用して、WCF サービスを介してやり取りしようとしました。次に、そのデータを使用して元の型を作成し、それを水和してみてください。
本当にこれには多くのことがあり、私は慌てています。これは、レンガの壁にぶち当たっているときにどのように実装するかという全体的な問題であるため、共有する特定のコードはありません。別の方法を実装しようとする良い反応が得られれば、将来的にコードを投稿できます。