LINQ y el Entity Data Model

LINQ to Entities permite a los programadores crear consultas flexibles, pero con establecimiento inflexible de tipos, en el contexto del objeto del Entity Data Model (EDM) mediante el uso de expresiones y de operadores de consulta estándar de LINQ Esto permite a los usuarios escribir consultas compuestas con establecimiento inflexible de tipos en una sintaxis del estilo de Transact-SQL, directamente en el entorno de desarrollo. Las consultas se expresan en el propio lenguaje de programación y no como literales de consulta incrustados en el código de programación, como suele ser el caso en las aplicaciones escritas en Microsoft .NET Framework versión 2.0. El compilador detectará los errores de sintaxis y los errores en los nombres de miembros y los tipos de datos, y los notificará en tiempo de compilación, con lo que se reduce la posibilidad de que se produzcan problemas entre el modelo del EDM y la aplicación.

Cuando una aplicación usa el modelo EDM, la asignación entre el modelo de datos conceptual y el origen de datos subyacente se controla de forma automática. Un programador puede crear una aplicación de LINQ to Entities sin conocer nada del origen de datos subyacente ni de los métodos concretos que se usan para consultar el origen de datos. Esto también permite cambiar el origen de datos back end sin necesidad de realizar cambios en la aplicación cliente, ya que la mayor parte de las características específicas de las bases de datos se controlan a través de Servicios de objeto. Para obtener más información, vea Información general de Servicios de objeto (Entity Framework).

Las consultas de LINQ to Entities usan la infraestructura de Servicios de objeto. La clase ObjectContext es la clase primaria para interactuar con un EDM en forma de objetos de CLR. El programador crea una instancia de ObjectQuery a través del ObjectContext. La clase de ObjectQuery genérica representa una consulta que devuelve una instancia o colección de entidades con tipo. El contexto del objeto realiza el seguimiento de los objetos entidad que devuelve ObjectQuery, y éstos se pueden actualizar mediante el método SaveChanges.

Vea también

Otros recursos

LINQ to Entities