次のようなデータソースがありますIDataSource : IEnumerable<IDynamicObject>
1 つの実装では純粋な XML データをクエリし、別の実装では SQL データベースをクエリしています。
私のデータソースには具象型がなく、単純なスキーマ型に対してのみ機能しています。
一部のシナリオでは、これらのデータソースは同じランタイム コンテキストでインスタンス化され、他のシナリオではネットワーク経由でアクセスされます。
LINQ を使用してデータソースをクエリすることはできませんでした。動的オブジェクトを使用して、実際のクエリの一部であるメンバー値のみを抽出および解析することを計画しています。
これは、同じランタイム コンテキストで実行している場合は問題なく動作しますが、データ ソースがリモート サーバー上の Web サービスの背後にある場合、これは失敗します。
そこで、LINQ クエリを文字列としてフォーマットし、これをサーバーに送信し、それを解析して式に戻し、新しいコンテキストで実行する方法を探していました。
私が見つけた式を解析する 2 つの方法は、Dynamic LINQとFLEEでした。私はそれらを簡単に見ただけですが、式を文字列にフォーマットして解析できるものはないようでしたか?
私はRoslynプロジェクトについて読んだことがありますが、この問題に使用できるのではないかと考えていましたか? それについて詳しく知っている人はいますか?
私もいくつか見ましたIQueryable<TData>
が、それについて多くの否定的なことを読んだので、多分それを避けるべきです. また、データ サーバーに具体的な型が必要ないため、強く型付けされているため、私のニーズには合いません。また、強く型付けされているため、これを Web サービスでどのように使用できるかわかりませんか? 何か不足していますか?