Procedimiento para ejecutar un método Finder en una entidad
Finder es un método especial que devuelve instancias de entidad de la aplicación back-end empresarial. Por ejemplo, para la entidad Customer, el método Finder puede ser un procedimiento almacenado o una simple instrucción SELECT como la siguiente:
SELECT * FROM Customers
Este tema muestra cómo ejecutar un método Finder en una entidad registrada en el Catálogo de datos profesionales.
Ejemplo
Este ejemplo muestra cómo ejecutar un método Finder en la entidad Product del ejemplo de AdventureWorks2000.
Requisitos previos
Asegúrese de que el proveedor de servicios compartidos ya está creado.
Reemplace el valor constante EnterYourSSPNameHere en el código con el nombre del proveedor de recursos compartidos.
Asegúrese de que LobSystem y los nombres de entidad a los que se hace referencia en el ejemplo existan en el Catálogo de datos profesionales. Use nombres válidos.
Referencias del proyecto
Antes de ejecutar este ejemplo, agregue las siguientes referencias de proyecto al proyecto de código de aplicación de consola:
Microsoft.SharePoint
Microsoft.SharePoint.Portal
Microsoft.Office.Server
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using Microsoft.Office.Server.ApplicationRegistry.MetadataModel;
using Microsoft.Office.Server.ApplicationRegistry.Runtime;
using Microsoft.Office.Server.ApplicationRegistry.SystemSpecific;
using Microsoft.Office.Server.ApplicationRegistry.Infrastructure;
using WSSAdmin = Microsoft.SharePoint.Administration;
using OSSAdmin = Microsoft.Office.Server.Administration;
namespace Microsoft.SDK.SharePointServer.Samples
{
class ExecuteFinder
{
const string yourSSPName ="EnterYourSSPNameHere";
static void Main(string[] args)
{
SetupBDC();
FindAll();
Console.WriteLine("Press any key to exit...");
Console.Read();
}
static void SetupBDC()
{
SqlSessionProvider.Instance().SetSharedResourceProviderToUse(yourSSPName);
}
static void FindAll()
{
NamedLobSystemInstanceDictionary sysInstances = ApplicationRegistry.GetLobSystemInstances();
LobSystemInstance AdvWorksIns = sysInstances["AdventureWorksSampleInstance"];
Entity prodEntity = AdvWorksIns.GetEntities()["Product"];
FilterCollection fc = prodEntity.GetFinderFilters();
IEntityInstanceEnumerator prodEntityInstanceEnumerator = prodEntity.FindFiltered(fc, AdvWorksIns);
while (prodEntityInstanceEnumerator.MoveNext())
{
IEntityInstance IE = prodEntityInstanceEnumerator.Current;
foreach (Field f in prodEntity.GetFinderView().Fields)
Console.Write(IE[f]);
Console.WriteLine("");
}
}
}
}
Vea también
Otros recursos
Catálogo de datos profesionales: modelo de metadatos
Exploración del repositorio de metadatos y ejecución de métodos y filtros
Creación de aplicaciones personalizadas mediante el Catálogo de datos profesionales