0

Breeze から複雑なオブジェクト グラフを保存していますが、サーバーから次のエラーが表示されます。

エラー: CROSS APPLY は Oracle ではサポートされていません

Devart プロバイダーを使用して Oracle データベースを使用しています。私の調査によると、この問題の唯一の解決策は、特定の linq クエリ式を避けることです。これらのスレッドは、さらなるコンテキストを提供します。

http://forums.devart.com/viewtopic.php?t=18849

http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/ae826dd9-1bab-4f64-a7ee-f082a2177346/

リンクされた最後のスレッドは特にがっかりさせられます。これは、Microsoft 関連の EF の問題であり、彼らはかなり長い間闇に落ちていたようです。

これに対する唯一の救済策は、特定の linq 演算子/式を回避することであるように思われるため、そよ風を使用してこれらの問題のある linq 式を回避する方法があるかどうかを尋ねなければなりませんか? そうでない場合、そよ風は現在、EF によって完全にサポートされているリレーショナル データベースにのみ限定されていると結論付けられます。私の調査では、実質的には MS SQL のみです。

私が間違っていることを願っています、マティアス

4

1 に答える 1

0

Breeze の EFContextProvider を使用する場合は、EF バックエンドの使用に制限されます。ただし、他のオプションをいくつか実行します。1 つ目は、独自のパラメーターをコントローラー メソッドに渡すことができることです ( EntityQuery.withParameters メソッドを参照してください)。これにより、サーバー上で式を書き直して、Oracle 用に適切に翻訳できない EF 式を回避できる場合があります。

さらに、独自のカスタム コンテキスト プロバイダーで Breeze を使用することも、サーバー側を完全に引き継ぐこともできます。1 つ目は、別の .NET バックエンドと通信する場合に適した方法です。2 つ目は、任意の非 .NET バックエンドと通信する場合に適しています。

これらの両方を説明するために、今後数週間以内に NHibernate バックエンドと Node-MongoDb バックエンドを Breeze にリリースする予定です。

于 2013-06-10T20:00:02.970 に答える