問題タブ [service-operations]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linq - ADO.Net Data Services のサービス操作で ."Include" を使用する方法
私は ADO.Net Data Services を使用しており、いくつかの linq to entities ステートメントの結果を返すサービス操作があります。これらの Linq ステートメントの一部として、サブオブジェクトを含める .Include("NavProp") があります。このサービス操作を実行すると、展開されたインクルードが返されないようです。それがなぜなのか、それを修正する方法を知っている人はいますか?そのサブオブジェクトを拡張するために、サービス操作の呼び出しにキーワードを追加することは可能ですか? ( $expand=subObject を試しましたが、うまくいかないようです - 悪いリクエストです)。
1.) .Include を返すサービス操作の linq ステートメントの構文 (これは不可能だと確信しています)
また
2.) サブオブジェクトを展開するためのサービス操作要求の構文
linq - .NETクライアントからのADO.NETデータサービスのサービス操作の消費
多数のエンティティといくつかのサービス操作を使用してADO.NETデータサービスを構築しようとしています。一方では、ADO.NETエンティティデータモデルとADO.NETデータサービスが配置されているASP.NETWebアプリケーションを作成しました。反対側では、データサービスへのサービス参照を持つ2番目のASP.NETWebアプリケーションを作成しました。
エンティティは非常にうまく機能しています。LINQを使用して、必要なデータを取得できます。
これは機能します。ただし、Service Operationsを介して情報を取得することは、私にはまったくわかりません。データサービス側のコード:
クライアントプロジェクトにサービス参照を追加したとき、VisualStudioはサービス操作を取得しませんでした。構築されたURIと、DataServiceContextオブジェクトまたはTestEntitiesオブジェクト(この場合)のいずれかのBeginExecuteメソッド、またはそのようなものを介してそれらにアクセスできることはわかっていますが、それは私が望む方法ではありません。
私が欲しいのは、LINQを使用して、サービス操作の返されたデータを調べることです。これは可能ですか?そうあるべきですよね?
wcf - WCF Service Operation does not expose data as queryable
I have a service operation of the form:
with access rule
When I access this service operation through a web browser, it exposes the data but not in feeds and entries (AtomPub format) and neither does it let me use basic query options like $top, $orderby, etc complaining that these 'cannot be applied to the requested resource'. I have matched all requirements specified at http://msdn.microsoft.com/en-us/library/cc668788.aspx but to no success. Any help will be appreciated. Thanks.
c# - WCF Data Service からカスタム クラスを返すことができません
WCF データ サービスからカスタム クラスを返そうとしています。私のカスタムクラスは次のとおりです。
私のデータ サービスは次のようになります。
ただし、サービスを実行すると、エラーが発生します。
同じクエリが LINQPad で問題なく実行されます。
c# - ODATAはC#ASP.NET4.0からのサービス操作を消費します
次のようなサービス操作を行うC#ASP.NETアプリケーションを介してODATAサービスに接続しています。
私はブラウザで問題なくこれを消費することができます、例えば
LINQ to Entitiesを使用してODATAサービスを利用する方法は理解していますが、上記のC#のようなサービス操作を利用する方法についての適切な説明が見つかりません。VisualStudioソリューションでサービスへのWeb参照を作成しました。
これまでのところ、私は通常のデータ消費のために次のようなものを持っています:
ポインタはありますか?
.net - クライアント .NET アプリケーションで WCF データ サービス操作を使用する方法は?
皆さん、私は Data Services と LINQ の新参者であり、何らかのガイダンスがどうしても必要です。ほんの数日で、私は多くの予想外の障害に遭遇しました。これらが、新しいツールを学習する際の典型的なフラストレーションに過ぎないことを願っています。
Gps座標のSql Serverデータベーステーブルからデータを提供するためのWCFデータサービスがあります。特に、小数の精度と緯度/経度の範囲を指定して、データのより一般的な表現を生成できるサービス操作メソッドがあります。
Web ブラウザーでは、期待どおりに動作するように見えます。しかし、クライアント アプリケーションから操作を呼び出そうとすると、クライアントに返されるリストが、サービスによって生成されたリストとは異なります。
コードの一部を使用して詳細を説明します。
データ サービス操作:
クライアント アプリから呼び出されたときに上記のメソッドを (Visual Studio の仮想サーバーで実行して) デバッグすると、クライアントに戻る直前に gpsList に適切なデータが含まれているように見えます。テスト パラメーターを使用して、値が指定した小数点以下の桁数に丸められた 200 個の異なる Gps オブジェクトのリストを取得します。
ただし、結果がクライアント アプリの呼び出しメソッドに返されると、200 個の Gps オブジェクトのリストが表示されますが、それらはすべて同じ値です。具体的には、重複した値は、予想される結果セットの最後の値です。この操作を Web ブラウザーで呼び出して結果を表示することで、これを確認しました。
クライアント方法:
「Execute()」行の「ToList()」部分を削除しようとしましたが、デバッガーで結果セットを表示しようとすると、「この IEnumerable では単一の列挙のみがサポートされています。 "
私が知る限り、私のクライアント コードが最初に疑われます。結局、他のすべてのテストは、データ サービス操作が望ましい結果を生成していることを示しています。
データ サービスからオブジェクトの IEnumerable リストを取得するには、別の操作が必要ですか?
CreateQuery() オプションがあることは理解していますが、このシナリオでは Execute() がより適切なルートであることを読みました。
c# - Linqpad から OData サービス操作を呼び出す
可能な場合は誰でも知っていますか?もしそうなら、linqpadを介してサービス操作を呼び出すための構文は何ですか?
また、linqpad-how を使用して呼び出すときに、名前付きパラメーターを使用できますか? サービス操作には多くのパラメーターがあり、それぞれを指定する必要はありません。
ありがとう!
wcf-data-services - CurrentDataSource で MergeOptions を設定することは可能ですか?
標準の OData クエリ構文を使用して実現できない複雑なクエリがあるため、エンティティ モデルでいくつかのデータベース ビューを公開します。これらのエンティティをサードパーティ アプリケーションに公開するために、WCF Data Services を使用しています。基本的に、EF レイヤーのエンティティを変更するフローがいくつかあります。データベース ビューを表すエンティティには、EF キャッシュを使用しており、データベースからデータを読み込んでいないため、ほとんどの実際のデータが含まれていないことに気付きました。データベース テーブルを表すエンティティは常に最新です。データベースビューを表すエンティティに最も実際のデータが含まれていることを確認するには、AFAIK a MergeOptions を NoTracking に設定する必要があります。その後、EF はデータベースでクエリを実行し、キャッシュされた値を忘れます。
今私の質問。サービス操作で利用可能な CurrentDataSource を MergeOptions と共に使用して、EF にキャッシュされたエンティティを忘れさせ、DB で毎回クエリを実行させることは可能ですか? または、EF クエリがキャッシュされたエンティティ値を使用するのではなく、代わりに RAW SQL を実行することを定義する方法について、他の可能性はありますか?
entity-framework - IQueryable を返す ServiceOperation でいくつかのエンティティを操作することは可能ですか?
特定の時間に特定のユーザーが利用できるアイテムを照会する ServiceOperation があります。要するに、この方法は次のことを行います。
これがアイテム {A、B、C、D} を返すとしましょう。2 番目のクエリは、呼び出し元のユーザーがアクセスできるアイテムを除外します。
このダニの結果は {A, C } となり、返されます。クライアント側の結果は次のとおりです。クライアントがアクセスできるアイテムのリストのみが表示されます。検索を間違えたのか、それともアイテムが現在入手できないのかがわからないため、これは面倒な場合があります。
私ができるようにしたいのは、可能なすべての結果をクライアント {A、B、C、D} に表示することですが、この場合は B と D を使用不可としてフラグします。
私のエンティティには、使用できるプロパティ isReadOnly が既にあります。
除外するだけでなく、残りの結果を読み取り専用としてフラグを立てるクエリを作成できますか? 理想的な結果は {A, B.isREADOnly=true, C, D.isReadOnly=true} です。
それとも、実行可能な限界に達したので、結果のリストを返す別のクラスを作成して、従来の WCF Web メソッドを作成する必要がありますか?
PS: この 'isReadOnly' プロパティはこれにのみ使用されます。DB で変更されてもかまいません。
ポインタをありがとう
アンドレアス
asp.net-mvc - WCF Data Service ServiceOperation からのアクセスのみを許可する方法
ASP.NET MVC アプリで WCF を使用し、データ サービスは (EF 4.1) .mdf ファイルからデータを取得します。ただし、認証で表示したいフィールドがいくつかあります。たとえば、次のようになります。
ユーザーが httx://localhost/MyService.svc/Exercies にアクセスすると、ユーザー名とパスが指定されていなくても、すべてを取得できます。
私の一時的な解決策は、GetAllExercies の名前をExerciesに変更することですが、他に良い方法があるかどうかはわかりません...