LiveLinq は、クエリーですべての LINQ クエリー演算子をサポートします。必ずしもすべての演算子に LiveLinq 固有の実装があるわけではなく、インデックスなどのクエリー実行最適化技術の恩恵を受けることはできませんが、そのような演算子では、単に標準の LINQ to Objects(または LINQ to XML)実装が使用されるため、ユーザーからは透過的です。
ただし、ライブビューでは、必ずしもすべてのクエリー演算子を使用できません。これは、一部のクエリー演算子は管理のたびに最初から再生成(再クエリー)する必要があり、インクリメンタルビューメンテナンスアルゴリズムを備えていないためです。クエリーにこのような演算子が含まれる場合、そのクエリーを使用してライブビューを作成することはできません。作成しようとすると、コンパイルエラーが発生します。
次に、ライブビューで使用できるクエリー演算子をリストします。
| 演算子 | 説明 |
|---|---|
| Select | インデックスに依存する selector を使用したオーバーロードは許可されません。 |
| Where | インデックスに依存する predicate を使用したオーバーロードは許可されません。 |
| Join | comparer を使用したオーバーロードは許可されません。 |
| GroupJoin | comparer を使用したオーバーロードは許可されません。 |
| OrderBy | comparer を使用したオーバーロードは許可されません。 |
| OrderByDescending | comparer を使用したオーバーロードは許可されません。 |
| GroupBy | comparer を使用したオーバーロードは許可されません。 |
| SelectMany | インデックスに依存する selector および collectionSelector を使用したオーバーロードは許可されません。 |
| Union | |
| Concat | |
| Aggregate | インクリメンタルビューメンテナンスを使用してパフォーマンスを最適化する場合は、LiveAggregate メソッドを使用してください。 |
| Count | インクリメンタルビューメンテナンスを使用してパフォーマンスを最適化する場合は、LiveCount メソッドを使用してください。 |
| Min/Max | インクリメンタルビューメンテナンスを使用してパフォーマンスを最適化する場合は、LiveMin メソッドを使用してください。 |
| Sum | インクリメンタルビューメンテナンスを使用してパフォーマンスを最適化する場合は、LiveSum メソッドを使用してください。 |
| Average | インクリメンタルビューメンテナンスを使用してパフォーマンスを最適化する場合は、LiveAverage メソッドを使用してください。 |