2015-01-13 23 views
7

バック私はDevartからデルファイのための新しいORMをしようとしていた数日のように、私は何かを見たときも、私は、LINQの一部の特定のドキュメントを読んでいた、EntityDACと呼ばれます私が見た最初の瞬間。 "Emp ['Sal']> 1000"という表現はラムダ式ではありませんか?試用版はこのコンポーネントであるため、ソースが付属していないので、関数/プロシージャの宣言方法を理解できませんでした。これはラムダですか?そうでない場合は何ですか?</p> <pre><code>Linq.From(Emp).Where(Emp['Sal'] > 1000) </code></pre> <p>はそれが私を覚ますと言うようになった:

参照:http://www.devart.com/entitydac/docs/ - > LINQのクエリ - > LINQの構文 - >セッション

+1

'Emp ['Sal']> 1000'式は' Where'を呼び出す前に評価されるため、パスカルになるとは思いません。なぜあなたはDevartに尋ねないのですか? –

+2

EntityDACは.netとdelphiで利用でき、特にlinqの部分が異なっています。しかし、[LINQクエリ引数を文字列として指定する](http://www.devart.com/entitydac/docs/specify_linq_query_arguments_as_string.htm)の章もあります.Delphiでこれを使用する必要があります。 –

+1

@DavidHeffernan演算子のオーバーロードについて?演算子のオーバーロードコードに値のリストを構築し、そのリストをどこで使用するかのような何かを達成できませんでしたか?あなたは効果的に未使用の結果を返します。 – Graymatter

答えて

12

I mentioned this in a blog post a few months ago.は、私が見て、ソースを持っていないが、それはほぼ確実にこの方法を行うのはどこまでスクロール:

    record型の値を返す Emp['Sal']
  • 発現が
  • このレコードは、演算子のオーバーロードは、その上に宣言された
  • Delphi言語はオペレータのオーバーロードなどを定義します指定された、または直感的な型を返す必要はありません。したがって、ここの>演算子はブール値ではなく、別のレコードを返します。
  • これらの演算子を連鎖することで、LINQエバリュエーターによって評価できる式ツリーを作成できます。
+0

あなたの注意のために、私はデルファイがこの機能を持っているか分からなかった。私は確かにさらに見える – kabstergo

関連する問題

 関連する問題