RIAサービスを追加するためのVisual Studioウィザードが、データ用にEntityFrameworkを使用することを前提とすると、混乱している可能性があります。私は、2番目のWCFサービスからのデータからEFモデルを作成したいとは思わない。代わりに、RIAサービスを作成してDomainServiceから直接派生し、必要なメソッドをオーバーライドします。各クエリメソッドで、単にリモートサービスにクエリを実行し、その結果をSilverlightクライアントに返します。 RIAサービスのマジックコード生成を動作させるには、リモートWCFサービスの結果をラップするDTOオブジェクトのセットをアプリケーションに定義する必要があります。
ここは簡単なサンプルです。注 - 私はこれを作って、私が意味することを説明しました。あなたは、あなたを助けことを願ってい
namespace YourApp.Web
{
[EnableClientAccess]
public class WcfRelayDomainService : DomainService
{
public IQueryable<Restaurant> GetRestaurants()
{
// You should create a method that wraps your WCF call
// and returns the result as IQueryable;
IQueryable<MyDto> mydtos = RemoteWCF.QueryMethod().ToQueryable();
return mydtos;
}
public void UpdateDTO(MyDto dto)
{
// For update or delete, wrap the calls to the remote
// service in your RIA services like this.
RemoteWCF.UpdateMethod(dto);
}
}
}
など、使用している実際のサービスへの呼び出し中に入れて、エラー処理を構築し、入力チェックをする必要があります!いくつかのヒントについては、
How to set up RIA services with Silverlight 4.0 and without EFを参照してください。
これはかなり有望ですが、ありがとうございます。 – slfan