1

WCF RIA Services データ ソースを使用するように Lightswitch アプリを構築しました。RIA サービス プロジェクトを参照して、データ型をインポートすることができました。ただし、サービスを呼び出すと、「サービスでクエリ操作 [操作名] が見つかりませんでした」という結果になります。

本当に恐ろしいのは、検索エンジンでこのエラーのヒットが見つからなかったことです。つまり、何か非常に間違ったことをしているに違いありません。

メソッドのシグネチャは次のようになります。

public IQueryable<md_SKURevMngtRRPPhantom> GetRRPPhantoms(string site, string category, long? segment, DateTime? entryDate){
//implementation here
}

Fiddler を使用して、サービスへの呼び出しが行われていることを確認しました...次のようになります。

http://localhost:26132/RevMngtDomainServiceData.svc/GetRRPPhantoms()?site='610'&category='B'&segment=5L&entryDate=datetime'2013-07-04T00:00:00'

デフォルトのサービス メソッドへのパラメータなしのリクエストでも、同じエラーが返されます。このデフォルトのリクエストは次のように定義されています。

[Query(IsDefault = true)]
public IQueryable<md_SKURevMngtRRPPhantom> GetAllRRPPhantoms(){
///implementation here...
}

Lightswitch プロジェクトで WCF RIA サービスをデータソースとして正しくインポートするにはどうすればよいですか? 同じサービスを呼び出すと、「サービスでクエリ操作 [操作名] が見つかりませんでした。」が返されます。

4

1 に答える 1

1

実は、私は何か非常に間違ったことをしていたことがわかりました...返された md_SKURevMngtRRPPhantom オブジェクトは、Lightswitch プロジェクトの DataSource で定義されたオブジェクトであり、DomainService プロジェクトでその部分クラスを作成してプロパティを追加していました。これは悪い考えだったようです。

md_SKURevMngtRRPPhantom クラスではなく、新しく定義されたクラスを返すように DomainService プロジェクトを変更したところ、すべて正常に動作しました。

于 2013-07-05T08:22:16.470 に答える