文字列として作成し、WCF 経由で転送し、反対側で LINQ にコンパイルする必要があるクエリがあります。実際の LINQ クエリ自体を WCF 経由で転送しない理由は、クエリを生成するメソッドが、クエリで使用されるソースの型を認識していない (つまり、依存関係がない) ためです。
問題は次のとおりです。クエリを文字列としてネットワーク経由で渡し、CSharpCodeProvider にそれを試してコンパイルさせますが、クエリで参照されているデータ ソース (以下のコードのserverSource ) が見つかりません。このクエリを作成し、CSharpCodeProvider でコンパイルするにはどうすればよいですか?
var newQuery = @"using System.Linq;" +
"public class SIQuery" +
"{" +
"public static void Main(string[] args)" +
"{" +
"var siQuery = from e in " + serverSource + " where e % 5 == 0 select e;" +
"}" +
"}";
実行時にコンパイルする前にserverSourceを定義しようとしましvar serverSource = application.GetStreamable<long>("serverSource");
たが ( )、これは結果に影響しません ( serverSourceが見つからないという事実)。
前もって感謝します!