2017-01-25 10 views
0

私の現在の仕事では、誰かが私を助けてくれることを願っています。誰もが、無関係な.NET SQL jsonパーサドライバを知っていますか?

基本的には、データベースに構造化されていないデータを格納する必要があるユースケースもありますが、クエリを実行することもできます。

事実、私たちは構造化言語を使用する必要がありますので、私たちのコアプラットフォームはSQL(SQL Server、Oracle、その他のSQLサーバーをサポートしています。ストアドプロシージャのようなデータベース特有の機能を使用しないか、標準SQLに固執することによってSQL DBにとらわれないようにしてください)。 NoSQLデータベース を使用する - - やPostgreSQL、SQL ServerまたはOracleサーバー

のようなJSONの解析機能を備えたSQLデータベースを使用 :

はとにかく、我々は今、二つのことが心に飛び込んだので、非構造化データを格納し、照会する必要があります

私たちは顧客にまだ別のデータベースをインストールさせることはできません。また、数年前から私が使用してきたSQL互換データベースサービスの数も制限したくありません。

私の実際の質問は次のとおりです。- 異種のSQLサービスにJSONを透過的に格納することを可能にする無関係な.NET SQL jsonパーサドライバを知っている人は誰でも知っていますか?基礎となるサーバーを心配することなく使用できるインターフェイス

ありがとうございます!ここで

答えて

0

はJSON https://www.codeproject.com/Articles/1166099/Entity-Framework-Storing-complex-properties-as-JSO

としてEFオブジェクトを格納する方法について説明記事で手順にあなたのための有効なオプションを格納していますか?理論的には、JSON関数を使用してSQLコードを持つストアドプロシージャを作成し、JSON列を検索し、.NETコードから呼び出すことができます。データベースごとに異なるストアドプロシージャが実装されていますが、.Net呼び出しで呼び出されます。うまくいけば、将来EFはJSONフィールドをクエリするときにSQLへのLINQ変換をサポートします。

SQL ServerとOracleを使用している場合、両方ともJSON_VALUE関数をサポートするため、.Netコードから生のSQLクエリを実行することさえできます。

+0

この情報は素晴らしいですが、私が探していたものではありません。 基本的には、任意のJSONペイロードを保存してからクエリできます。 json_column.json_property ['x']> 5のすべてのレコードを選択してください。 サーバー側にそのクエリロジックをプッシュしたいので、処理がサーバー側で行われます(パフォーマンス上の理由から)! 異なるデータベースでは、この機能が使用できますが、異なる構文/クエリ言語を使用しています(これは実際は標準のSQL機能ではありません)。だから私が探しているのは、JSONのクエリ機能を無関係な方法で提供するドライバまたはコンポーネントです。 – user3158527

+0

私は理解します。残念ながら、JSONのサポートはデータベースでは新しいので、私はそのようなフレームワークを認識していません。ただし、SQL ServerとOracleをターゲットにしている場合は、JSONをテキストとして保存し、同じクエリでクエリを実行できるように、機能を整列させています。SELECT * FROM dbo.collection WHERE JSON_VALUE(Jsoncolumn、 '$ .property') = 'テスト' –

関連する問題