2016-09-06 3 views
0

SQL ServerテーブルとそのデータをoDataとして公開するツールまたはフレームワークがありますか。テーブルが動的に生成されるため、OR Mapper Entity Frameworkはオプションではないと考えてください。SQL SeverテーブルとそのデータをoDataとして公開します。

C#クラスを生成せずにデータをODataとして公開するメカニズムが必要です。

答えて

0

ここにはいくつかのオプションがあります。

符号化の観点から、何か一般的なものを構築できます。 .Net(C#)は、IQueryableインターフェイスと[EnableQuery]属性のODataサポートをラップします。以下の疑似コードは、WebAPI2でこれを一般的に行う方法を示しています。作業のデモは数分で立ち上がっすることができます。

[EnableQuery(PageSize = 100)] 
    public IQueryable Get() 
    { 
     var data = (IQueryable)<get any data from the DB as IQueryable>; 
     return Okay(data, data.GetType()); 
    } 

フィルタリングなどがそう戻って、データベースへのフィルタリングの限りをプッシュしようとしていることは、より良いパフォーマンスが得られます、メモリ内で実行されてしまうことに注意してください。私は主に強く型付けされたオブジェクトでこれを使用しています。Entity FrameworkはすべてのフィルタリングをDBにプッシュします。非常に強力で非常に迅速です。 ODataは非常に柔軟性があり、一般的な使用例についてデータベース索引や問合せを最適化する必要があることに注意してください。

データベースの観点からは、では、Azureで実行している場合、ODataを数回クリックするだけです。 See this article. Azureテーブルストレージのrawフォーマットは、get goからのODataです。 SQL AzureのOData結果は50行にページされ、データベースをスラッシュするサービス拒否タイプのシナリオ、特にインデックスされていないデータに対するODataクエリを避けることができると考えています。

SQLが敷地内にある場合、私はそこに何かがあるとは思わないが、コネクタを提供する多くのベンダーがいる。 Here is an example from a quick Google。私は彼らと提携していない。

関連する問題