0

2 つのモジュールで構成されるアプリケーションを作成します。

  • asp mvc 3 サービスに基づくサーバー側。これは、SQL Server データベースから一連の WP7 クライアントにデータを提供することになっています。
  • WP7 のクライアント側。これは、サーバーからデータを取得し、ローカル データベースに保存することになっています。

これらのアプリの両方に対して 1 つのモデル セットのみを使用することは良い考えであり、Entity Framework を使用したいと考えています。

次のアプローチを検討しています。

これら 2 つのプロジェクトを 1 つのソリューションに配置します。サーバー側アプリでエンティティ フレームワーク モデルを生成し、SQL サーバー データベースを形成します。両方のアプリで使用してください。

サーバー上のサービスは、モデルを使用してデータを取得し、それを oData xml として返す必要があります。WP7 アプリはこの oData xml を取得し、同じモデルを使用してそれをローカル データベースに保存する必要があります。

私はこれまでに似たようなことをしたことがないので、良いアプローチかどうかはわかりません。それはうまくいきますか?ご意見をお待ちしております。

編集

私はすでにデータを返す作業サービスを持っています。また、データを取得するテスト SL アプリも作成しました。サーバー アプリの Entity Framework モデルを使用します。次のステップは、WP7 アプリを作成し、Entity Framework モデルにデータを取得することです (前述の SL アプリと同じ方法)。

ここでは、サービスを介して読み取りコンテキストを作成する方法を確認できます。

svc = new BlogContext(new Uri("/BlogService.svc", UriKind.Relative));
var q = svc.Blogs;

しかし、まだ解決方法がわからない問題があります。WP7 ローカル データベースに書き込むコンテキストを作成する方法は?

4

2 に答える 2

0

はい、動作します。私は自分のアプリの1つで非常に似たようなことをしています(oDataをJSON / OAuth APIに交換していますが)

于 2012-06-21T19:23:25.953 に答える
0

ライブラリは Silverlight (WP7) とサーバー (.NET) の間で共有できないため、プロジェクト リンカーなどを使用してマルチターゲット ソリューションを取得することをお勧めします。

POCO クラスに固執し、EF POCO クラス テンプレートのみを使用します。EF モデル自体はサーバー上でのみ使用してください。Silverlight で DataAnnotations を使用できるとは思わないので、独自の検証を行う必要があるかもしれません。

于 2012-06-21T19:52:21.847 に答える