2016-09-22 9 views
10

既存のSQL Serverデータベースがあり、C#を使用しています。私たちのモバイルクライアントがサーバーにグラフを送信すると言うことができます。このSQLをどのように変換すれば、私のクライアントはデータを得ることができますか?GraphqlをSQLに変換しますか?

+1

可能なソングの1つは、graphql.net + Entity Frameworkです。 –

+0

@ Manivannan.D.Sekaran any example – user960567

+0

あなたはEntity Frameworkを使用していますか? Graphqlクエリの例を1つ提供してください。変換の正確な例を教えてください。 – Transcendent

答えて

13

GraphQLとSQLは、同じように聞こえる間に、異なる問題を解決します。 SQLは、データベースに直接照会するために使用されます。 GraphQLは、データベース(SQLまたはクライアントライブラリを介して)、API、および静的ファイルなど、あらゆる種類のデータソースのクエリに使用されます。 GraphQLは、RESTまたはアドホックAPIエンドポイントと比較できます。

解決策の1つは、GraphQLの実装を自分で作成することです。 GraphQL.orgには、GraphQLサーバーの実装方法と使用方法に関する多くの素晴らしい情報があります。それがあまりにも多くの仕事をしているなら、あなたはこのプロジェクトをやり直すことができます:GraphQL .NET

ApolloStackのような他のGraphQLの実装を見てみることを検討してください。あなたのGraphQLサーバをあなたの.NETサーバから分離することができれば、ApolloStackや別のJavascript GraphQLサーバを使ってデータをホストすることができます。

+3

アレックス質問は簡単です。クライアントがグラフ形式でデータを送信した場合、どのようにして自分のデータをSQL SERVERデータベースに格納することができますか?これは可能かどうか? – user960567

+0

Node.jsを使用してSQLからプルするGraphQLサーバの例を次に示します。https://github.com/apollostack/GitHunt-API/tree/master/api/sql – stubailo

+1

Node.jsにはGraphQLエコシステムにはもっと多くのライブラリがありますノードサービスを構築すると、さらに多くのオプションが提供されます。 [Join Monster](https://github.com/stems/join-monster)は、与えられたGraphQLリクエストとスキーマ定義からSQLクエリを生成しようとするライブラリです。 –

0

残念ながら、GraphQLをSQLに変換することはできません。

クライアントがGraphQLでリクエストを送信している場合は、GraphQLサーバーを作成しそこからデータベースを照会するしかありません。

GraphQLはSQLではありません。 SQLはデータベースクエリ言語ですが、GraphQLはクライアント側からミドルウェアまでのクエリ言語です。

5

Andy Carlsonの
によって作成されたJoin MonsterリポジトリのC#バージョンの実装方法を調べることをお勧めします。 https://github.com/stems/join-monster

クライアント提供のGraphQLクエリを、最も効率的なSQLクエリに変換しようとします。現在のところ、多対多リレーションシップやユニオンタイプ(ポリモーフィックアソシエーション)はサポートされていませんが、これらの目標はリポジトリのロードマップの一部です。

+2

言い訳ありがとう! Join Monsterは実際には多対多の関係をサポートしています。そこから得ることができるデータは限られていますが、それは現在進行中です。 –

+0

私は知らなかった!現在、私は本当に使いたいですが、私はApollo Serverで作業していますので、Apolloがサポートされるまで待つか、おそらくサポートするかどうかを検討する必要があります。 – AjaxLeung

関連する問題