Compartilhar via


IEntityInstanceEnumerator De interface

Quebra um objeto nativo retornado de back-end que representa uma coleção ou um transmitir como instâncias entidade e oferece suporte a uma única iteração pela coleção instância de entidade.

Espaço para nome Microsoft.Office.Server.ApplicationRegistry.Runtime
Conjunto de Módulos (Assembly) Microsoft.SharePoint.Portal (em microsoft.sharepoint.portal.dll)

A sintaxe

Public Interface IEntityInstanceEnumerator
    Inherits IEnumerator(Of IEntityInstance)

Dim instance As IEntityInstanceEnumerator
public interface IEntityInstanceEnumerator : IEnumerator<IEntityInstance>

Comentários

Você pode usar enumeradores para ler os dados na coleção, mas não para modificar o subjacente coleção.

Porque o objeto IEntityInstanceEnumerator IEntityInstanceEnumerator oferece suporte a fluxo contínuo (se e somente se o real back-end retorna um objeto streamable), ele é muito útil quando o aplicativo back-end retorna grandes quantidades de dados.

Importante

A interface IEntityInstanceEnumerator IEntityInstanceEnumerator implementa a interface IDisposable e portanto, ele deve ser fechado usando o método Close ou você irá vazam conexões.

Conceitualmente, você pode pensar em uma instância entidade como uma única linha dos dados retornados de uma aplicativo corporativo back-end in a Business Data Catalog.A interface IEntityInstance abstrai as fontes dados subjacentes, isola os clientes de precisar saber Application-specific paradigms, codificação e permite que os clientes para acessar todos os dados empresa de uma única forma simplificada.A interface IEntityInstance IEntityInstance permite que você trabalho com uma linha de dados de um banco de dados apenas da mesma maneira como trabalhar com uma estrutura complexa Microsoft.NET Framework retornada por um serviço da Web.

Uma instância entidade na Business Data Catalog tem semânticas especiais anexado a ele.De exemplo, ele tem a capacidade para saber quais campos de linha representam o identificador para a instância entidade e habilitar para você chamar métodos como GetAssociated()GetIdentifierValues() e Execute() na instância dessa entidade.

Exemplo

Este exemplo mostra como para executar um Finder localizador na entidade do produto no exemplo de AdventureWorks2000.

Prerequisites

  • Certifique-se que um provedor de serviços compartilhados já é criado.

  • Substituir a constante valor EnterYourSSPNameHere na codificar com o nome do seu Shared Resource Provider.

  • Certifique-se o LobSystem LobSystem relacionado no exemplo consta o Business Data Catalog.Válido usar nomes.

Project References

Adicione o seguinte referências do projeto no seu projeto código do aplicativo console antes execução neste exemplo:

  • 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();
            // leave the filtercollection unmodified - don't set any filters, and then Business Data Catalog will bring back everything
            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("");
            }
        }
       
    }
}

Consulte também

Referência

IEntityInstanceEnumerator Membros
Microsoft.Office.Server.ApplicationRegistry.Runtime De espaço para nome