Configurar el control EntityDataSource
Actualización: noviembre 2007
El control EntityDataSource simplifica el enlace de datos definidos por Entity Data Model (EDM) a los controles de una aplicación web ASP.NET aprovechando los componentes de los servicios de objeto de ADO.NET Entity Framework. Esto permite al control crear y ejecutar consultas de objeto y enlazar controles a los objetos devueltos, que son instancias de tipos de entidad que se definen en el EDM. Para obtener más información, vea Información general sobre los servicios de objeto (Entity Framework).
Debe configurar las propiedades del control EntityDataSource para poder conectar al EDM y devolver los tipos de entidad correctos. Al establecer las propiedades DefaultContainerName y ConnectionString, el control EntityDataSource puede crear la clase ObjectContext que utiliza para ejecutar consultas de objeto. Al establecer las propiedades EntityTypeFilter y EntitySetName, se define el tipo de clase ObjectQuery<T> que crea el control EntityDataSource.
Nota: |
---|
Para utilizar el control EntityDataSource, debe agregar una referencia en la aplicación a la DLL que contiene el modelo EDM y los archivos de asignación y las clases que representan los tipos de entidad y la clase ObjectContext. |
Cadena de conexión
Puede inicializar la propiedad ConnectionString del control EntityDataSource a partir de una cadena de conexión con nombre del EDM almacenada en el elemento connectionStrings del archivo de configuración de la aplicación. Al crear el EDM utilizando el Asistente para Entity Data Model, se genera una conexión EDM con nombre en el archivo de configuración de la aplicación. A continuación, puede ver esta conexión como una opción en el Asistente para la configuración de orígenes de datos del diseñador de EntityDataSource. Para obtener más información, vea Configurar el Asistente del origen de datos (control EntityDataSource).
Contexto del objeto
En los servicios de objeto, una clase ObjectContext con tipo representa el contenedor de entidades del modelo conceptual. La clase ObjectContext es la clase primaria para interactuar con los datos definidos por un EDM. Estos datos están en el forma de objetos que son instancias de tipos de entidad. Una clase ObjectContext con tipo encapsula una conexión a la base de datos, los metadatos que describen el modelo y un objeto ObjectStateManager que realiza el seguimiento de los objetos durante las operaciones de creación, actualización y eliminación. La propiedad ContextTypeName del control EntityDataSource es una cadena que especifica el nombre de tipo completo de la clase ObjectContext con tipo que usa el control EntityDataSource. Si no se especifica la propiedad ContextTypeName, debe establecer las propiedades ConnectionString y DefaultContainerName para que el control EntityDataSource cree la clase ObjectContext. Puede tener acceso a la clase ObjectContext que usa el control EntityDataSource desde la propiedad ContextType. Para obtener más información, vea Administración del ciclo de vida del contexto de objetos (EntityDataSource).
Tipos de entidad
En el EDM, un conjunto de entidades es un contenedor lógico para los tipos de entidad que se definen en el esquema conceptual. Puede especificar el conjunto de entidades del tipo de objetos al que obtiene acceso el control EntityDataSource a través de la propiedad EntitySetName. El valor de la propiedad EntitySetName es la instrucción SELECT predeterminada que utiliza el control. No se requiere este valor si la consulta se especifica como una expresión de Entity SQL proporcionada a la propiedad CommandText. Para obtener más información, vea Texto de comando personalizado (EntityDataSource).
Cuando el control EntityDataSource debe devolver un tipo derivado concreto, también debe especificar el nombre de este tipo derivado en la propiedad EntityTypeFilter. Si la propiedad EntitySetName especifica un conjunto de entidades que puede generar resultados polimórficos, la propiedad EntityTypeFilter debe poder modificar los datos. Establecer la propiedad EntityTypeFilter tiene el mismo efecto que aplicar el método OfType<TResultType> a ObjectQuery<T>. Si el enlace de datos es de solo lectura no es necesaria la propiedad EntityTypeFilter. En este caso, las propiedades del objeto que devuelve la consulta serán las del tipo de entidad predeterminado del conjunto de entidades.
Vea también
Conceptos
Configurar el Asistente del origen de datos (control EntityDataSource)
Texto de comando personalizado (EntityDataSource)