ROW (Entity SQL)
Vytváří anonymní, strukturálně typované záznamy z jedné nebo více hodnot.
Syntaxe
ROW ( expression [ AS alias ] [,...] )
Argumenty
expression
Libovolný platný výraz dotazu, který vrátí hodnotu, která se má vytvořit v typu řádku.
alias
Určuje alias pro hodnotu zadanou v typu řádku. Pokud alias není zadaný, entita SQL se pokusí vygenerovat alias na základě pravidel generování aliasů ENTITY SQL.
Návratová hodnota
Typ řádku.
Poznámky
Konstruktory řádků v Entity SQL slouží k vytvoření anonymních, strukturálně zadaných záznamů z jedné nebo více hodnot. Typ výsledku konstruktoru řádku je typ řádku, jehož typy polí odpovídají typům hodnot použitých k vytvoření řádku. Například následující výraz vytvoří hodnotu typu Record(a int, b string, c int)
.
ROW(1 AS a, "abc" AS b, a+34 AS c)
Pokud nezadáte alias pro výraz v konstruktoru řádku, Entity Framework se pokusí ho vygenerovat. Další informace najdete v části Pravidla aliasů tématu Identifikátory .
Následující pravidla platí pro aliasy výrazů v konstruktoru řádku:
Výrazy v konstruktoru řádku nemohou odkazovat na jiné aliasy ve stejném konstruktoru.
Dva výrazy ve stejném konstruktoru řádků nemohou mít stejný alias.
Další informace o konstruktorech dotazů naleznete v tématu Vytváření typů.
Příklad
Následující dotaz Entity SQL používá operátor ROW k vytvoření anonymních, strukturálně typovaných záznamů. Dotaz je založený na prodejním modelu AdventureWorks. Chcete-li tento dotaz zkompilovat a spustit, postupujte takto:
Postupujte podle pokynů v části Postupy: Provedení dotazu, který vrací výsledky typu StructuralType.
Jako argument metody
ExecuteStructuralTypeQuery
předejte následující dotaz:
SELECT VALUE ROW (product.ProductID AS ProductID,
product.Name AS ProductName) FROM AdventureWorksEntities.Products
AS product