RAD (entitets-SQL)
Konstruerar anonyma, strukturellt inskrivna poster från ett eller flera värden.
Syntax
ROW ( expression [ AS alias ] [,...] )
Argument
expression
Alla giltiga frågeuttryck som returnerar ett värde som ska skapas i en radtyp.
alias
Anger ett alias för det värde som anges i en radtyp. Om ett alias inte anges försöker Entity SQL generera ett alias baserat på genereringsreglerna för entitets-SQL-alias.
Returvärde
En radtyp.
Kommentarer
Du använder radkonstruktorer i entitets-SQL för att konstruera anonyma, strukturellt inskrivna poster från ett eller flera värden. Resultattypen för en radkonstruktor är en radtyp vars fälttyper motsvarar de typer av värden som användes för att konstruera raden. Följande uttryck konstruerar till exempel ett värde av typen Record(a int, b string, c int)
.
ROW(1 AS a, "abc" AS b, a+34 AS c)
Om du inte anger ett alias för ett uttryck i en radkonstruktor försöker Entity Framework generera ett. Mer information finns i avsnittet "Aliasregler" i avsnittet Identifierare .
Följande regler gäller för uttrycksalias i en radkonstruktor:
Uttryck i en radkonstruktor kan inte referera till andra alias i samma konstruktor.
Två uttryck i samma radkonstruktor kan inte ha samma alias.
Mer information om frågekonstruktorer finns i Skapa typer.
Exempel
Följande SQL-entitetsfråga använder ROW-operatorn för att konstruera anonyma, strukturellt inskrivna poster. Frågan baseras på AdventureWorks försäljningsmodell. Följ dessa steg för att kompilera och köra den här frågan:
Följ proceduren i Så här kör du en fråga som returnerar StructuralType-resultat.
Skicka följande fråga som ett argument till
ExecuteStructuralTypeQuery
metoden:
SELECT VALUE ROW (product.ProductID AS ProductID,
product.Name AS ProductName) FROM AdventureWorksEntities.Products
AS product