1

MVC 4のシングルページアプリケーションベータを見ると、レガシードメインオブジェクトをモデルとしてどのように使用できるのか分かりません。モデルがDbDataControllerを使ってデータなどを取得するためにエンティティフレームワークを使用する必要があるようです。レガシードメインオブジェクトを持つASP.NET SPA

私はエンティティフレームワークを理解できないため、おそらく何か不足しています。

MVC 4のSPAでレガシードメイン(独自のDALを使用)を使用するにはどうすればよいですか?

答えて

0

これは、ASP.NETフォーラムで他の人が回答したものです。

これらのRADツールの一部を使用する場合は、EF以外のものを使用することはできません。しかし、SPAはMVCの上に構築されているので、独自のバージョンを簡単に構築できるはずです。重要なコンポーネントは、DataControllerによって提供されるサービスのためにApiControllerとjsコンシューマーの上にDataControllerを構築することです。モデルをEF出力と同じ形式(ODataだと思います)でフォーマットすると、upshot.jsを使用することもでき、ドメインモデルをフォーマットするためにDataControllerを実装するだけで済みます。

理論的には、次のものがあなたと将来のバージョンのSPAで処理/修正される場合には、数日後に次のように追加します。

System.Web.Http.Data.DataController(およびおそらくApiController)から継承するコントローラを作成できます。それから返されるオブジェクトは、System.ComponentModel.DataAnnotations.Key()属性で修飾されたプロパティを持つ必要があります。私は正常に動作するビューを得ることができますが、グループ化のようなより高度な機能のいくつかは、私は問題を抱えています。

Readonlyプロパティは返されません。現在使用されているJSONシリアライザに問題があると思われます。修正する必要があります。

もちろん、オブジェクト全体がシリアル化されます。これは、ドメインオブジェクトが子オブジェクトと複雑な場合に非常に問題になります。特に、それらのオブジェクトのいくつかが独自のシリアル化の問題を持っているとします。

複雑なシリアライゼーションに関連して、現在のJSONシリアライザは、参照されるドメインオブジェクトの循環参照を処理できません。

System.Web.Http.Data.DataController(例ではDBDataControllerを使用しています)を継承する独自のコントローラを使用しているときに、更新/削除/挿入がポストバックされる問題にぶつかりました。

+0

こんにちは、私もSPAで遊んでいます。 DataControllerを使用して見つかった問題の種類を指定してください。現時点では私は問題に遭遇していません.. – Hero

関連する問題