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.
En este tema se muestra cómo ejecutar una consulta de Entity SQL con parámetros mediante ObjectQuery. En el ejemplo se pasan dos parámetros a la ObjectQuery, se ejecuta la consulta y se procesa una iteración de la colección de elementos Contact
. Se muestra el mismo ejemplo usando cada una de las siguientes tecnologías de consulta de Entity Framework :
LINQ to Entities
Entity SQL con ObjectQuery<T>
Métodos del generador de consultas de ObjectQuery<T>
El ejemplo de este tema se basa en el modelo AdventureWorks Sales. Para ejecutar el código de este tema, debe haber agregado el modelo AdventureWorks Sales al proyecto y haber configurado el proyecto para que use Entity Framework. Para obtener más información, vea Cómo: Usar el Asistente para Entity Data Model (Entity Framework) o Cómo: Configurar manualmente un proyecto de Entity Framework y Cómo: Definir manualmente un modelo Entity Data Model (Entity Framework).
Ejemplo
A continuación se muestra el ejemplo de LINQ to Entities .
Using context As New AdventureWorksEntities()
Dim FirstName = "Frances"
Dim LastName = "Adams"
Dim contactQuery = From contact In context.Contacts _
Where contact.LastName = LastName AndAlso contact.FirstName = FirstName _
Select contact
' Iterate through the results of the parameterized query.
For Each result In contactQuery
Console.WriteLine("{0} {1}", result.FirstName, result.LastName)
Next
End Using
using (AdventureWorksEntities context =
new AdventureWorksEntities())
{
string FirstName = "Frances";
string LastName = "Adams";
var contactQuery = from contact in context.Contacts
where contact.LastName == LastName && contact.FirstName == FirstName
select contact;
// Iterate through the results of the parameterized query.
foreach (var result in contactQuery)
{
Console.WriteLine("{0} {1} ", result.FirstName, result.LastName);
}
}
A continuación se muestra el ejemplo de Entity SQL .
Using context As New AdventureWorksEntities()
' Create a query that takes two parameters.
Dim queryString As String = "SELECT VALUE Contact FROM AdventureWorksEntities.Contacts " & _
" AS Contact WHERE Contact.LastName = @ln AND Contact.FirstName = @fn"
Dim contactQuery As New ObjectQuery(Of Contact)(queryString, context)
' Add parameters to the collection.
contactQuery.Parameters.Add(New ObjectParameter("ln", "Adams"))
contactQuery.Parameters.Add(New ObjectParameter("fn", "Frances"))
' Iterate through the collection of Contact items.
For Each result As Contact In contactQuery
Console.WriteLine("Last Name: {0}; First Name: {1}", result.LastName, result.FirstName)
Next
End Using
using (AdventureWorksEntities context =
new AdventureWorksEntities())
{
// Create a query that takes two parameters.
string queryString =
@"SELECT VALUE Contact FROM AdventureWorksEntities.Contacts
AS Contact WHERE Contact.LastName = @ln AND
Contact.FirstName = @fn";
ObjectQuery<Contact> contactQuery =
new ObjectQuery<Contact>(queryString, context);
// Add parameters to the collection.
contactQuery.Parameters.Add(new ObjectParameter("ln", "Adams"));
contactQuery.Parameters.Add(new ObjectParameter("fn", "Frances"));
// Iterate through the collection of Contact items.
foreach (Contact result in contactQuery)
Console.WriteLine("Last Name: {0}; First Name: {1}",
result.LastName, result.FirstName);
}
A continuación se muestra el ejemplo del método del generador de consultas.
Dim firstName As String = "Frances"
Dim lastName As String = "Adams"
Using context As New AdventureWorksEntities()
' Get the contacts with the specified name.
Dim contactQuery As ObjectQuery(Of Contact) = context.Contacts.Where("it.LastName = @ln AND it.FirstName = @fn", _
New ObjectParameter("ln", lastName), New ObjectParameter("fn", firstName))
' Iterate through the collection of Contact items.
For Each result As Contact In contactQuery
Console.WriteLine("Last Name: {0}; First Name: {1}", result.LastName, result.FirstName)
Next
End Using
string firstName = @"Frances";
string lastName = @"Adams";
using (AdventureWorksEntities context =
new AdventureWorksEntities())
{
// Get the contacts with the specified name.
ObjectQuery<Contact> contactQuery = context.Contacts
.Where("it.LastName = @ln AND it.FirstName = @fn",
new ObjectParameter("ln", lastName),
new ObjectParameter("fn", firstName));
// Iterate through the collection of Contact items.
foreach (Contact result in contactQuery)
Console.WriteLine("Last Name: {0}; First Name: {1}",
result.LastName, result.FirstName);
}
Vea también
Tareas
Cómo: Ejecutar una consulta que devuelva objetos de tipo de entidad (Entity Framework)
Cómo: Ejecutar una consulta que devuelve una colección de tipos anónimos (Entity Framework)
Cómo: Ejecutar una consulta que devuelve una colección de tipos primitivos (Entity Framework)