Información general sobre Object Relational Designer
El Object Relational Designer (Object Relational Designer) proporciona una superficie de diseño visual para crear clases de entidad y asociaciones (relaciones) de LINQ a SQL [LINQ to SQL] basadas en los objetos de una base de datos. Es decir, el Object Relational Designer se usa para crear un modelo de objetos en una aplicación que se asigna a los objetos de una base de datos. También genera una clase DataContext fuertemente tipada que se usa para enviar y recibir datos entre las clases de entidad y la base de datos. El Object Relational Designer también proporciona la funcionalidad para asignar los procedimientos almacenados y funciones a los métodos de DataContext con el fin de devolver datos y rellenar las clases de entidad. Por último, el Object Relational Designer permite diseñar relaciones de herencia entre las clases de entidad.
El Object Relational Designer genera el archivo .dbml que proporciona la asignación entre las clases de LINQ to SQL y los objetos de base de datos. Object Relational Designer también genera las clases DataContext con tipo y las clases de entidad.
El Object Relational Designer tiene dos áreas distintas en su superficie de diseño: a la izquierda, el panel de entidades y, a la derecha, el panel de métodos. El panel de entidades es la superficie de diseño principal que muestra las clases de entidad, asociaciones y jerarquías de herencia. El panel de métodos es la superficie de diseño que muestra los métodos DataContext que están asignados a procedimientos almacenados y funciones.
Nota |
---|
En la actualidad, el Object Relational Designer admite únicamente bases de datos de SQL Server 2000, SQL Server 2005, SQL Server 2008 y SQL Server Express.Aunque O/R Designer no es compatible con SQL Server Compact 3.5, LINQ to SQL si que lo es.Para obtener más información, vea SQL Server Compact y LINQ to SQL. Para obtener información sobre cómo obtener SQL Server Express, vea la sección Obtener SQL Server Express en el tema Cómo: Instalar bases de datos de ejemplo. |
Abrir Object Relational Designer
Puede abrir el Object Relational Designer agregando un nuevo elemento de Clases de LINQ to SQL a un proyecto. Para obtener información detallada, vea Cómo: Agregar clases de LINQ to SQL a un proyecto (Object Relational Designer).
Importante |
---|
El Object Relational Designer es un asignador relacional de objetos simple porque admite únicamente relaciones de asignación 1:1.Es decir, una clase de entidad únicamente puede tener una relación de asignación 1:1 con una tabla o vista de base de datos.En la actualidad, no se admiten asignaciones complejas, como la asignación de una clase de entidad a una tabla combinada. Además, el diseñador es un generador de código unidireccional.Esto significa que solo se reflejan en el archivo de código los cambios que se realizan en la superficie del diseñador.Los cambios realizados manualmente en el archivo de código no se reflejan en el Object Relational Designer. Cualquier cambio que se realice manualmente en el archivo de código se sobrescribe cuando se guarda el diseñador y se vuelve a generar el código.Para obtener información sobre cómo agregar código de usuario y extender las clases generadas por el Object Relational Designer, vea Cómo: Extender código generado por Object Relational Designer. |
Crear y configurar DataContext
Después de agregar un elemento de Clases de LINQ to SQL a un proyecto y abrir el Object Relational Designer, la superficie de diseño vacía representa un DataContext listo para su configuración. El DataContext se configura con la información de conexión proporcionada por el primer elemento que se arrastra hasta la superficie de diseño. Por consiguiente, el DataContext se configura usando la información de conexión del primer elemento que se coloca sobre la superficie de diseño. Para obtener más información sobre la clase DataContext, vea Métodos DataContext (Object Relational Designer).
Crear clases de entidad que se asignan a tablas y vistas de base de datos
Puede crear clases de entidad asignadas a tablas y vistas arrastrando tablas y vistas de base de datos desde el Explorador de servidores/Explorador de bases de datos hasta el Object Relational Designer. Tal como se ha indicado en la sección anterior, el DataContext se configura con la información de conexión proporcionada por el primer elemento que se arrastra hasta la superficie de diseño. Si se agrega al Object Relational Designer un elemento subsiguiente que use otra conexión, se puede cambiar la conexión para DataContext. Para obtener más información, consulta Cómo: Crear clases de LINQ to SQL asignadas a tablas y vistas (Object Relational Designer).
Crear métodos de DataContext que llamen a procedimientos almacenados y funciones
Puede crear métodos de DataContext que llamen (estén asignados) a los procedimientos almacenados y funciones arrastrándolos desde el Explorador de servidores/Explorador de bases de datos hasta el Object Relational Designer. Los procedimientos almacenados y funciones se agregan al Object Relational Designer como métodos de DataContext.
Nota |
---|
Al arrastrar los procedimientos almacenados y funciones desde el Explorador de servidores/Explorador de bases de datos hasta el Object Relational Designer, el tipo de valor devuelto del método generado de DataContext difiere según la ubicación donde se coloque el elemento.Para obtener más información, consulta Métodos DataContext (Object Relational Designer). |
Configurar DataContext de modo que se usen los procedimientos almacenados para guardar los datos entre las clases de entidad y una base de datos
Como se ha indicado anteriormente, puede crear métodos de DataContext que llamen a los procedimientos almacenados y funciones. Además, también puede asignar los procedimientos almacenados que se pueden usar para el comportamiento predeterminado del motor en tiempo de ejecución LINQ to SQL en materia de inserciones, actualizaciones y eliminaciones. Para obtener más información, consulta Cómo: Asignar procedimientos almacenados para realizar actualizaciones, inserciones y eliminaciones (Object Relational Designer).
Herencia y Object Relational Designer
Al igual que otros objetos, las clases de LINQ to SQL pueden usar la herencia y derivarse de otras clases. En una base de datos, las relaciones de herencia se crean de varias maneras. El Object Relational Designer admite el concepto de la herencia de tabla única normalmente implementada en los sistemas relacionales. Para obtener más información, consulta Cómo: Configurar herencia usando Object Relational Designer.
Consultas de LINQ to SQL
Las clases de entidad que crea el Object Relational Designer están diseñadas para que se usen con LINQ (Language-Integrated Query). Para obtener más información, consulta Cómo: Consultar información.
Separar la clase DataContext generada y el código de clase de entidad en espacios de nombres distintos
El Object Relational Designer proporciona las propiedades Espacio de nombres del contexto y Espacio de nombres de la entidad en la clase DataContext. Estas propiedades determinan en qué espacio de nombres se generan la clase DataContext y el código de clase de entidad. De forma predeterminada, estas propiedades están vacías y las clases de entidad y DataContext se generan en el espacio de nombres de la aplicación. Para generar el código en un espacio de nombres distinto del espacio de nombres de la aplicación, especifique un valor para las propiedades Espacio de nombres del contexto y/o Espacio de nombres de la entidad.
Vea también
Tareas
Tutorial: Crear clases de LINQ to SQL (Object Relational Designer)
Otros recursos
LINQ General Programming Guide
Novedades de desarrollo de aplicaciones de datos en Visual Studio 2012