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