DataSource for Entity Framework for WinForms
ライブビューでサポートされるクエリー演算子
C1LiveLinq > プログラミングガイド > ライブビューでサポートされるクエリー演算子

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 メソッドを使用してください。