私は、選択したデータソースから正常にデータを取得するLinqプロバイダを持っていますが、今はフィルタリングされた結果セットを持っています私は、IQueryProviderを含む式定数を、ExpressionVisitorを介して結果セットIEnumerableに置き換えてから、次に、ExpressionVisitorを使用して結果セットIEnumerableを置き換えることができたと思っていました。新しい表現を返します。また、私のIQueryableからのIEnumerableのプロバイダを返す...しかし、これはIQueryableクエリの一部を実行し、残りの部分をオブジェクトのLinqに延期する
任意のアイデアの
編集:-(動作していないよう:?...フォーム与えられ、ここで いくつかの良い答えが、
var qry = from c in MyProv.Table<Customer>()
Join o in MyProv.Table<Order>() on c.OrderID equals o.ID
select new
{
CustID = c.ID,
OrderID = o.ID
}
私のプロバイダでは、顧客と注文の2つの結果セットを簡単に取り戻すことができます。データがSQLソースからのものであれば、SQL結合構文を作成して渡しますが、データは私は2つの結果セットを持っていると言ったように、オブジェクトへのLinqは、参加することができます...(そして、後でプロジェクション)では、式定数MyProv.Table<Customer>
とMyProv.Table<Order>
をList<Customer>
とList<Order>
に置き換えて、List<>
プロバイダが式を処理できるようにするのは本当にうれしいことです...可能ですか?どうやって?
私は私の膝からお願いします - 深い式ツリーの訪問者に。 :)これはまさに私が必要としたものです – Rik