Sdílet prostřednictvím


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 mapuje na kanonické funkce, takže konkrétní sada metod se správně mapuje bez ohledu na zdroj dat.

Kanonický obor názvů funkcí

Obor názvů pro kanonickou funkci je System.Data.Metadata.Edm. Obor System.Data.Metadata.Edm názvů se automaticky zahrne 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 tomto oddílu

Agregační kanonické funkce diskutují o agregačních funkcích Entity SQL.

Matematické kanonické funkce diskutují o matematických kanonických funkcích Entity SQL.

Řetězcové kanonické funkce diskutují o řetězcových kanonických funkcích Entity SQL.

Kanonické funkce data a času diskutují o kanonických funkcích entity SQL data a času.

Bitové kanonické funkce probírají bitové funkce Entity SQL.

Prostorové funkce diskutují o kanonických funkcích SQL prostorové entity.

Ostatní kanonické funkce diskutují o funkcích, které nejsou klasifikovány jako bitové funkce, datum a čas, řetězec, matematika nebo agregace.

Viz také