2011-09-29 19 views
1

動的Linqを見ると、文字列を使用してクエリの主要部分を定義することができます。私の質問は、文字列としてクエリ全体を渡すことは可能ですか?動的linq:クエリ全体を文字列として渡す

すなわちます。var fooは=「から...」動的LINQではできません

+0

あなたは答えを得ました、それは役に立ちます –

+0

こんにちはPranay、SQL文字列を渡すことは私の目的ではありませんでしたが、提案に感謝します。 :) – Glinkot

答えて

0

LINQは "Language INtegrated Queries"の略で、残りのコードとともにコンパイルされ、実行時には解析されません。 Microsoft.CSharp.CSharpCodeProviderを使用すると、実行時にクエリをコンパイルできますが、クエリに送信するローカルオブジェクトを事前に知っておく必要があります。

+0

ありがとう、これは実際に私がこれをやる方法がわからないけれども、実際には最も近い答えです。 – Glinkot

+0

それは本当にあなたがしたいことにかかっています。ここでは、CSharpCodeProviderの使い方に関する少しのチュートリアルです:http://www.mattephraim.com/blog/2009/01/02/treating-c-like-a-scripting-language/。基本的には、必要なLINQクエリを実行する静的メソッドを含むクラスをコンパイルする必要があります。そして、そのメソッドを呼び出すよりも。私はあなたがSQLにLINQingしていないと仮定しているので、XMLにLINQingしているならば、XML文書をそのメソッドに送るだけですが、他のデータ構造にLINQする場合は、その方法。 –

0

- ダイナミックLINQは、唯一のクエリの特定部分を置き換えます。ただし、LINQ to SQLのデータコンテキストではExecuteQueryDbSet<T>ではSqlQueryを使用して特定のSQLコマンドを実行できます。

関連する問題