Compartir a través de


Paso 5 (opcional): Definir métodos IDEnumerator y habilitar la búsqueda de datos profesionales

Para habilitar la búsqueda de datos profesionales, debe definir un SpecificFinder y un tipo especial de método MethodInstance llamado IDEnumerator en los metadatos. Como ya ha definido un método SpecificFinder para la entidad Product en el paso 2, sólo tiene que definir un método IDEnumerator en este paso. Un método IDEnumerator devuelve una lista de identificadores (clave única) que se pueden buscar para una entidad. Esta lista permite la indización de las entidades cuyos identificadores devuelve el método IDEnumerator.

Nota

Si necesita realizar un rastreo incremental, asegúrese también de que uno de los campos de retorno de IDEnumerator para la entidad representa la hora de la última actualización de la instancia de la entidad (o fila, según la terminología de bases de datos) en la aplicación LOB. A continuación, debe establecer la propiedad __BdcLastModifiedTimestamp de la entidad con el nombre de TypeDescriptor en el valor de retorno de IDEnumerator que representa la fecha de la última modificación.

Las entidades tienen uno o ningún método IDEnumerator. La definición de un método IDEnumerator es exactamente igual que la de un método Finder, con la excepción de que no tiene filtros y devuelve sólo el campo del identificador o los campos ID y LastModifiedDate.

En el siguiente ejemplo se muestra cómo definir un método IDEnumerator para indizar y buscar productos de la base de datos AdventureWorks2000.

Nota

En este ejemplo, se usa una base de datos de Microsoft SQL Server 2000, que admite la transmisión de datos. Para mejorar el rendimiento de servicios web y otras aplicaciones de servidor que no son de transmisión, debe usar el filtro LastIdSeen en el método IDEnumerator de la siguiente manera:

SELECT TOP 100 Id FROM Customers WHERE Id>=@LastIdSeen
ORDER BY Id

Requisitos previos

Paso 2: Definir entidades métodos y filtros

o

Paso 3 (Opcional): Definir acciones

o

Paso 4 (opcional): definir asociaciones

Para definir un método IDEnumerator a fin de habilitar la indización y la búsqueda

  1. Abra el archivo AdventureWorks2000.XML desde el paso 2, 3 ó 4.

  2. Agregue el siguiente código XML para el método IDEnumerator en el código XML de entidades de productos, después de la definición del método GetProducts:

            <Method Name="ProductIDEnumerator">
              <!-- Method for enabling business data search. The method 
              returns a list of IDs. Business Data Catalog will use the 
              SpecificFinder method on each of these IDs when indexing 
              the prodocuts.-->
              <Properties>
                <Property Name="RdbCommandText" Type="System.String">SELECT ProductID FROM Product WHERE ProductID &gt; 1200 AND ProductID &lt; 1300</Property>
                <Property Name="RdbCommandType" Type="System.String">Text</Property>
              </Properties>
              <Parameters>
                <Parameter Name="ProductIDs" Direction="Return">
                  <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="Products">
                    <TypeDescriptors>
                      <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Product">
                        <TypeDescriptors>
                          <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductID" Name="ProductID">
                            <LocalizedDisplayNames>
                              <LocalizedDisplayName LCID="1033">ID</LocalizedDisplayName>
                            </LocalizedDisplayNames>
                          </TypeDescriptor>
                        </TypeDescriptors>
                      </TypeDescriptor>
                    </TypeDescriptors>
                  </TypeDescriptor>
                </Parameter>
              </Parameters>
              <MethodInstances>
                <MethodInstance Name="ProductIDEnumeratorInstance"  Type="IdEnumerator" ReturnParameterName="ProductIDs" />
              </MethodInstances>
            </Method>
    
  3. Guarde el archivo XML.

  4. Antes de volver a agregar la definición de la aplicación, debe eliminar la aplicación AdventureWorksSample que creó en el paso 1 desde el Catálogo de datos profesionales. Para eliminar AdventureWorksSample, siga estos pasos:

    1. Abra SharePoint 3.0 Central Administration.

    2. En el panel de exploración de la izquierda, haga clic en el nombre del Proveedor de servicios compartidos (SSP).

    3. En la sección Business Data Catalog , haga clic en View Applications para ver las aplicaciones registradas.

    4. Haga clic en AdventureWorksSample para abrir la página Ver aplicación: AdventureWorksSample.

    5. Finalmente, haga clic en Delete Application en la sección Application Settings.

  5. Agregue la definición de la aplicación al Catálogo de datos profesionales. Para obtener información detallada, consulte Procedimiento para agregar una definición de aplicación al Catálogo de datos profesionales.

  6. Agregar un origen de contenido.

  7. Asignar propiedades rastreadas.

  8. Crear un ámbito de búsqueda.

Después de completar este tutorial, tendrá a su disposición contenido de la base de datos de ejemplo AdventureWorks2000 para realizar consultas de búsqueda. A continuación, deberá personalizar la interfaz de usuario de búsqueda o crear aplicaciones personalizadas de búsqueda para ejecutar consultas en el contenido de datos profesionales.

Para obtener información acerca de cómo llevar a cabo estos pasos, consulte:

Tutorial: Adición de una ficha y una página de búsqueda personalizada con elementos web del motor de búsqueda Enterprise Search al Centro de búsqueda

Tutorial: Crear un elemento web de ASP.NET para el ejemplo de aplicación de datos profesionales de AdventureWorks

Pasos siguientes

Paso 6 (Opcional): Especificar permisos de acceso

Vea también

Otros recursos

Catálogo de datos profesionales: modelo de metadatos
Ejemplo de SQL Server 2000 de AdventureWorks