Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Una expresión es un fragmento de código que se puede evaluar como un único valor, objeto, método o espacio de nombres. Las expresiones pueden contener un valor literal, una llamada de método, un operador y sus operandos, o un nombre simple. Los nombres simples pueden ser el nombre de una variable, un miembro de tipo, un parámetro de método, un espacio de nombres o un tipo. Las expresiones pueden usar operadores que, a su vez, usan otras expresiones como parámetros o llamadas a métodos cuyos parámetros son a su vez otras llamadas de método. Por lo tanto, las expresiones pueden variar de simple a muy compleja.
En las consultas LINQ to Entities, las expresiones pueden contener cualquier cosa permitida por los tipos del System.Linq.Expressions espacio de nombres, incluidas las expresiones lambda. Las expresiones que se pueden usar en las consultas LINQ to Entities son un superconjunto de las expresiones que se pueden usar para consultar Entity Framework. Las expresiones que forman parte de las consultas en Entity Framework se limitan a las operaciones admitidas por ObjectQuery<T>
y el origen de datos subyacente.
En el ejemplo siguiente, la comparación en la cláusula Where
es una expresión.
Decimal totalDue = 200;
using (AdventureWorksEntities context = new AdventureWorksEntities())
{
IQueryable<int> salesInfo =
from s in context.SalesOrderHeaders
where s.TotalDue >= totalDue
select s.SalesOrderID;
Console.WriteLine("Sales order info:");
foreach (int orderNumber in salesInfo)
{
Console.WriteLine("Order number: " + orderNumber);
}
}
Dim totalDue = 200
Using context As New AdventureWorksEntities()
Dim salesInfo = _
From s In context.SalesOrderHeaders _
Where s.TotalDue >= totalDue _
Select s.SalesOrderID
Console.WriteLine("Sales order info:")
For Each orderNumber As Integer In salesInfo
Console.WriteLine("Order number: " & orderNumber)
Next
End Using
Nota:
Las construcciones de lenguaje específicas, como C# unchecked
, no tienen ningún significado en LINQ to Entities.
En esta sección
Relaciones, propiedades de navegación y claves externas