Kanonické funkce

Tato část popisuje kanonické funkce, které podporují všichni poskytovatelé dat, a dají se použít všemi technologiemi dotazování. Kanonické funkce nelze rozšířit poskytovatelem.

Tyto kanonické funkce budou přeloženy do odpovídajících funkcí zdroje dat pro poskytovatele. To umožňuje vyvolání funkcí vyjádřených ve společné podobě napříč zdroji dat.

Vzhledem k tomu, že tyto kanonické funkce jsou nezávislé na zdrojích dat, jsou argumenty a návratové typy kanonických funkcí definovány z hlediska typů v koncepčním modelu. Některé zdroje dat ale nemusí podporovat všechny typy konceptuálního modelu.

Pokud se v dotazu Entity SQL použijí kanonické funkce, bude příslušná funkce volána ve zdroji dat.

Všechny kanonické funkce mají explicitně zadané chování při zadávání null i chybové podmínky. Poskytovatelé úložiště by měli toto chování dodržovat, ale Entity Framework toto chování nevynucuje.

V případě scénářů LINQ dotazy na Entity Framework zahrnují mapování metod CLR na metody v podkladovém zdroji dat. Metody CLR se mapují na kanonické funkce, takže konkrétní sada metod se správně namapují bez ohledu na zdroj dat.

Kanonický prostor názvů funkcí

Obor názvů pro kanonickou funkci je System.Data.Metadata.Edm. Jmenný prostor System.Data.Metadata.Edm je automaticky zahrnut do všech dotazů. Pokud je však importován jiný obor názvů, který obsahuje funkci se stejným názvem jako kanonická funkce (v System.Data.Metadata.Edm oboru názvů), musíte zadat obor názvů.

V této sekci

Agregační kanonické funkce Popisuje agregované kanonické funkce Entity SQL.

Matematické kanonické funkce Popisuje matematické kanonické funkce Entity SQL.

Kanonické funkce řetězců Popisuje řetězcové kanonické funkce Entity SQL.

Kanonické funkce data a času Popisuje kanonické funkce Entity SQL pro datum a čas.

Bitové kanonické funkce Popisuje bitové funkce Entity SQL.

Prostorové funkce Popisuje kanonické funkce SQL prostorové entity.

Další kanonické funkce Popisuje funkce, které nejsou klasifikovány jako bitové, datum a čas, řetězec, matematika nebo agregace.

Viz také