Tutorial: Crear una lista externa en SharePoint con datos profesionales
El servicio Conectividad a datos profesionales (BDC) permite a SharePoint mostrar los datos empresariales de las aplicaciones de servidor back-end, servicios Web y bases de datos.
En este tutorial se muestra cómo crear un modelo para el servicio BDC que devuelve información sobre los contactos de una base de datos de ejemplo.Después, creará una lista externa en SharePoint utilizando este modelo.
En este tutorial se muestran las tareas siguientes:
Crear un proyecto.
Agregar una entidad al modelo.
Agregar un método Finder.
Agregar un método Finder específico.
Probar el proyecto.
Requisitos previos
Necesita los componentes siguientes para completar este tutorial:
Ediciones compatibles de Windows y SharePoint.Para obtener más información, vea Requisitos para desarrollar soluciones de SharePoint.
Visual Studio Professional, Visual Studio Ultimate o Visual Studio Premium.
Acceso a la base de datos de ejemplo AdventureWorks.Para obtener más información sobre cómo instalar la base de datos AdventureWorks, vea SQL Server Sample Databases.
Crear un proyecto que Contiene un modelo BDC
Para crear un proyecto que contiene un modelo BDC
En la barra del menu de Visual Studio, elija Archivo, Nuevo, Proyecto.
Aparece el cuadro de diálogo Nuevo proyecto.
En Visual c# o Visual Basic, expanda el nodo SharePoint y, a continuación el elemento 2010.
En el panel Plantillas, elija Proyecto de SharePoint 2010, asigne al proyecto AdventureWorksTest, y elija el botón Aceptar.
Aparece el Asistente para la personalización de SharePoint.En este asistente, puede especificar el sitio que se va a usar para depurar el proyecto y para establecer el nivel de confianza de la solución.
Elija el botón de opción implementar como solución de granja de servidores para establecer el nivel de confianza.
Elija el botón finalizar para aceptar el sitio local predeterminado de SharePoint.
En Explorador de soluciones, elija el nodo de proyecto de SharePoint.
En la barra de menú, elija proyecto, agregar nuevo elemento.
Se abrirá el cuadro de diálogo Agregar nuevo elemento.
En el panel Plantillas, elija Modelo de conectividad a datos profesionales (solo en una solución de granja de servidores), asigne al proyecto, escriba AdventureWorksContacts y elija el botón Add.
Agregar clases de acceso de datos al proyecto
Para agregar clases de acceso de datos al proyecto
En la barra de menú, elija herramientas, Conectar a base de datos.
Se abrirá el cuadro de diálogo Agregar conexión.
Agregue una conexión a la base de datos de ejemplo AdventureWorks de SQL Server.
Para obtener más información, vea Agregar o modificar conexión (Microsoft SQL Server).
En Explorador de soluciones, elija el nodo del proyecto.
En la barra de menú, elija proyecto, agregar nuevo elemento.
En el panel Plantillas instaladas, elija el nodo datos.
En el panel Plantillas, elija Clases de LINQ to SQL.
En el cuadro Nombre, especifique AdventureWorks, y elija el botón Add.
Un archivo .dbml se agrega al proyecto, y Object Relational Designer.
En la barra de menú, elija Vista, Explorador de servidores.
En el Explorador de servidores, expanda el nodo que representa la base de datos de ejemplo AdventureWorks y, a continuación, expanda el nodo Tables.
Agregue la tabla Póngase en contacto (person) al object relational designer.
Se crea una clase de entidad, que aparece en la superficie de diseño.La clase de entidad tiene propiedades que se asignan a las columnas de la tabla Contact (Person).
Quitar la entidad predeterminada del modelo BDC
El proyecto Modelo de conectividad a datos profesionales agrega una entidad predeterminado denominada Entity1 al modelo.Quite esta entidad.Después, agregará una nueva entidad.Comenzar con un modelo vacío reduce el número de pasos necesarios para completar el tutorial.
Para quitar la entidad predeterminado del modelo
En Explorador de soluciones, expanda el nodo BdcModel1, y abra el archivo de BdcModel1.bdcm.
El archivo del modelo de Conectividad a datos profesionales se abre en el diseñador de BDC.
En el diseñador, abra el menú contextual para Entity1 y, a continuación eliminar.
En Explorador de soluciones, abra el menú contextual para Entity1.vb (en Visual Basic) o Entity1.cs (en C#) y, a continuación eliminar.
Abrir el menú contextual para Entity1Service.vb (en Visual Basic) o Entity1Service.cs (en C#) y, a continuación eliminar.
Agregar una entidad al modelo
Agregue una entidad al modelo.Puede agregar entidades de Visual Studio Cuadro de herramientas al diseñador de BDC.
Para agregar una entidad al modelo
En la barra de menú, elija Vista, Cuadro de herramientas.
En la pestaña BusinessDataConnectivityCuadro de herramientas, agregue Entidad al diseñador de BDC.
La nueva entidad aparece en el diseñador.Visual Studio agrega un archivo denominado EntityService.vb (en Visual Basic) o EntityService.cs (en C#) al proyecto.
En la barra de menú, elija Vista, propiedades, ventana.
En la ventana propiedades, establezca el valor de propiedad Nombre para ponerse en contacto.
En el diseñador, abra el menú contextual para la entidad, elija Add y, a continuación identificador.
Un nuevo identificador aparece en la entidad.
En la ventana Propiedades, cambie el nombre del identificador por ContactID.
En la lista Nombre de tipo, elija System.Int32.
Agregar un método Finder concreto
Para permitir al servicio BDC mostrar un contacto concreto, debe agregar un método Finder específico.Las llamadas al servicio BDC el método Finder específico cuando un usuario elige un elemento de una lista y elija el botón Ver elemento en la cinta de opciones.
Agregue un método Finder específico a la entidad Contact utilizando la ventana Detalles del método de BDC.Para devolver una entidad concreta, agregue código al método.
Para agregar un método Finder específico
En el diseñador de BDC, elija la entidad Contacto.
En la barra de menú, elija Vista, Otras ventanas, Detalles del método de BDC.
Se abre la ventana Detalles del método de BDC.
En la lista Agregar un método, elija Crear método Finder específico.
Visual Studio agrega los siguientes elementos al modelo.Estos elementos aparecen en la ventana Detalles del método de BDC.
Un método denominado Readitem.
Un parámetro de entrada para el método.
Un parámetro devuelto para el método.
Un descriptor de tipo para cada parámetro.
Una instancia de método para el método.
En la ventana Detalles del método de BDC, abra la lista que aparece en el descriptor Contacto y, a continuación Modificar.
Explorador de BDC abre y proporciona una vista jerárquica del modelo.
En la ventana propiedades, abra la lista junto a la propiedad typename, elija la ficha Proyecto actual y, a continuación la propiedad Contacto.
En Explorador de BDC, abra el menú contextual Contacto y, a continuación Agregar descriptor de tipo.
Un nuevo descriptor denominado TypeDescriptor1 aparece en Explorador de BDC.
En la ventana propiedades, establezca el valor de propiedad Nombre a ContactID.
Abra la lista junto a la propiedad typename y, a continuación Int32.
Abra la lista junto a la propiedad identificador y, a continuación ContactID.
Repita los pasos desde el 6 para crear un descriptor de tipos para cada uno de los siguientes campos.
Nombre
Nombre de tipo
Nombre
System.String
Apellido
System.String
Teléfono
System.String
EmailAddress
System.String
EmailPromotion
System.Int32
NameStyle
System.Boolean
PasswordHash
System.String
PasswordSalt
System.String
En el diseñador de BDC, en la entidad Contacto, abra el método ReadItem.
El archivo de código del servicio Contact se abre en el editor de código.
En la clase ContactService, reemplace el método ReadItem por el código siguiente.Este código realiza las tareas siguientes:
Recupera un registro de la tabla Contact de la base de datos de AdventureWorks.
Devuelve una entidad Contact al servicio BDC.
[!NOTA]
Reemplace el valor del campo ServerName con el nombre del servidor.
Public Shared Function ReadItem(ByVal contactID As Integer) As Contact Const ServerName As String = "MySQLServerName" Dim dataContext As AdventureWorksDataContext = _ New AdventureWorksDataContext("Data Source=" & ServerName & _ ";Initial Catalog=AdventureWorks;Integrated Security=True") Dim Contact As Contact = _ (From TempContacts In dataContext.Contacts.AsEnumerable().Take(20) _ Where TempContacts.ContactID = contactID _ Select TempContacts).[Single]() Return Contact End Function
public static Contact ReadItem(int contactID) { const string ServerName = "MySQLServerName"; AdventureWorksDataContext dataContext = new AdventureWorksDataContext ("Data Source=" + ServerName + ";" + "Initial Catalog=AdventureWorks;Integrated Security=True"); Contact Contact = (from contacts in dataContext.Contacts.AsEnumerable().Take(20) where contacts.ContactID == contactID select contacts).Single(); return Contact; }
Agregar un método Finder
Para permitir que el servicio BDC muestre los contactos en una lista, debe agregar un método Finder.Agregue un método Finder a la entidad Contact utilizando la ventana Detalles del método de BDC.Para devolver una colección de entidades al servicio BDC, agregue código al método.
Para agregar un método Finder
En el diseñador de BDC, elija la entidad Contacto.
En la ventana Detalles del método de BDC, contraiga el nodo ReadItem.
En Agregar un método indicado en método ReadList, elija Crear método Finder.
Visual Studio agrega un método, un parámetro devuelto y un descriptor de tipos.
En el diseñador de BDC, en la entidad Contacto, abra el método ReadList.
El archivo de código para el servicio contact se abre en el editor de código.
En la clase ContactService, reemplace el método ReadList por el código siguiente.Este código realiza las tareas siguientes:
Recupera los datos de la tabla Contacts de la base de datos AdventureWorks.
Devuelve una lista de entidades Contact al servicio BDC.
[!NOTA]
Reemplace el valor del campo ServerName con el nombre del servidor.
Public Shared Function ReadList() As IEnumerable(Of Contact) Const ServerName As String = "MySQLServerName" Dim dataContext As AdventureWorksDataContext = _ New AdventureWorksDataContext("Data Source=" & ServerName & _ ";Initial Catalog=AdventureWorks;Integrated Security=True") Dim Contacts As IEnumerable(Of Contact) = _ From TempContacts In dataContext.Contacts.Take(20) _ Select TempContacts Return Contacts End Function
public static IEnumerable<Contact> ReadList() { const string ServerName = "MySQLServerName"; AdventureWorksDataContext dataContext = new AdventureWorksDataContext ("Data Source=" + ServerName + ";" + "Initial Catalog=AdventureWorks;Integrated Security=True"); IEnumerable<Contact> Contacts = from contacts in dataContext.Contacts.Take(20) select contacts; return Contacts; }
Probar el proyecto
Al ejecutar el proyecto, se abre el sitio de SharePoint y Visual Studio agrega el modelo al servicio Conectividad a datos profesionales.Cree una lista externa en SharePoint que haga referencia a la entidad Contact.Los datos de los contactos de la base de datos AdventureWorks aparecen en la lista.
[!NOTA]
Quizás necesite modificar la configuración de seguridad de SharePoint para poder depurar la solución.Para obtener más información, vea Diseñar un modelo de conectividad a datos profesionales.
Para probar el proyecto
Elija la clave F5.
Se abre el sitio de SharePoint.
En el menú Acciones del sitio, elija el comando Más opciones.
En la página Crear, elija la plantilla Lista externa, y elija el botón Crear.
Asigne a la lista personalizada el nombre Contacts.
Elija el botón examinar situado junto al campo Tipo de contenido externo.
En el cuadro de diálogo Selector externo de tipo de contenido, elija el elemento AdventureWorksContacts.BdcModel1.Contact, y elija el botón Crear.
SharePoint crea una lista externa que contenga los contactos de la base de datos de ejemplo AdventureWorks.
Para probar el método Finder específico, elija un contacto de la lista.
En la cinta de opciones, elija la ficha elementos, y elija el comando Ver elemento.
Los detalles del contacto que eligió aparecen en un formulario.
Pasos siguientes
En estos temas, puede obtener más información sobre cómo diseñar modelos para el servicio BDC en SharePoint:
Vea también
Conceptos
Introducción general a las herramientas de diseño del modelo BDC
Otros recursos
Diseñar un modelo de conectividad a datos profesionales