Compartilhar via


Method De classe

Representa as operações relacionado a uma entidade que você pode executar na linha - do - aplicativo empresa (LOB).

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

A sintaxe

<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel:=True)> _
<SharePointPermissionAttribute(SecurityAction.Demand, ObjectModel:=True)> _
Public Class Method
    Inherits IndividuallySecurableMetadataObject

Dim instance As Method
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel=true)] 
[SharePointPermissionAttribute(SecurityAction.Demand, ObjectModel=true)] 
public class Method : IndividuallySecurableMetadataObject

Comentários

Métodos representam os ponteiros para lógica corporativa em um aplicativo empresa.Exemplos de métodos são "get uma lista de clientes," "get a ordem com uma identificação especificada," e "atualização de preço unitário de um produto".

Os metadados para um Method essencialmente descreve uma assinatura método; de exemplo, o nome de uma procedimento armazenado SQL, um consulta SQL ou uma Web serviços método.As definições para as método assinaturas vive o aplicativo LOB.O objeto metadados Method método fornece as informações sobre esse método para que possa modelo de objeto em tempo de execução consulta o repositório metadados para essa informações quando um cliente deseja executar o método.

Métodos contêm Parâmetro, MethodInstance e FilterDescriptor.

Você pode reutilizar o mesmo método aplicativo back-end para múltiplo instâncias método na Business Data Catalog.De exemplo, o exemplo AdventureWorks reutiliza o GetProductsFinder e SpecificFinder.O GetCustomerByID GetCustomerByID método no SampleWebService reutiliza-lo como um SpecificFinder para cliente e como um método Association de associação para endereços get.

Importante

Data Catalog de negócios suporta somente serviços da Web de geração "Primeiro".Portanto, se você estiver usando os serviços da Web a Base de Comunicação Windows, verifique se você estiver usando somente WS-I v1.0 Perfil básico.Data Catalog de negócios não suporte as oito outras ligação escolhas que oferece a Base de Comunicação Windows.Para obter um exemplo, consulte o SampleWebService.

Quando você usa serviços da Web com métodos sobrecarregados, não é possível ter múltiplo métodos nomeado de forma idêntica em metadados de Business Data Catalog.Uma determinada entidade pode usar somente uma única Web proxy método substituir em um tempo determinado.No entanto, você pode ter múltiplo métodos com o mesmo nome na serviço da Web.O Business Data Catalog será escolher o método correto baseia a assinatura de metadados.

A seguir é as propriedades que o objeto Method método aceita para sistemas banco de dados.

Propriedade

Tipo

Necessários

Valor padrão

Limites/aceitos valores

RdbCommandType

System.Data.CommandType

Sim

Nenhum

Texto ou

StoredProcedure

RdbCommandText

System.String

Sim

Nenhum

Instrução SQL a executar ou nome da procedimento armazenado.

Exemplo

O seguinte exemplo de código mostra como criar um método, completo com MethodInstances, FilterDescriptors, DefaultValues e TypeDescriptors para a entidade ProductModel no banco de dados de AdventureWorks2000.

Prerequisites

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 Microsoft.Office.Server.ApplicationRegistry.Administration;
using Microsoft.Office.Server.ApplicationRegistry.Infrastructure;
using WSSAdmin = Microsoft.SharePoint.Administration;
using OSSAdmin = Microsoft.Office.Server.Administration;

namespace Microsoft.SDK.SharePointServer.Samples
{
    class GetStartedAndCreateSystem
    {
        const string yourSSPName ="EnterYourSSPNameHere";

        static void Main(string[] args)
        {
            SetupBDC();
            CreateFinderMethod();
            Console.WriteLine("Press any key to exit...");
            Console.Read();
        }
        static void SetupBDC()
        {
            SqlSessionProvider.Instance().SetSharedResourceProviderToUse(yourSSPName);
        }
        static void CreateFinderMethod()
        {

            LobSystemInstance mySysInstance = null;
            LobSystemInstanceCollection sysInsCollection = ApplicationRegistry.Instance.GetLobSystemInstancesLikeName("AdventureWorksSampleFromCode");
            foreach (LobSystemInstance sysInstance in sysInsCollection)
            {
                if (sysInstance.Name == "AdventureWorksSampleFromCode")
                {
                    mySysInstance = sysInstance;
                    break;
                }
            }
            EntityCollection entityColl = mySysInstance.LobSystem.Entities;
            foreach (Entity entity in entityColl)
            {
                if (entity.Name == "ProductModel")
                {
                    Method meth = entity.Methods.Create("GetProductModels", true, true);
                    meth.Properties.Add("RdbCommandText", "SELECT ProductModelID, Name, CatalogDescription FROM ProductModel WHERE Name LIKE @Name");
                    meth.Properties.Add("RdbCommandType", System.Data.CommandType.Text);
                    FilterDescriptor fd = meth.FilterDescriptors.Create("Name", true, "Microsoft.Office.Server.ApplicationRegistry.Runtime.WildcardFilter");
                    Parameter p1 = meth.Parameters.Create("@Name", true, Microsoft.Office.Server.ApplicationRegistry.MetadataModel.DirectionType.In, "Microsoft.Office.Server.ApplicationRegistry.Infrastructure.DotNetTypeReflector");
                    TypeDescriptor td1 = p1.CreateRootTypeDescriptor("Name", true, "System.String", null, fd, false);
                    Parameter p2 = meth.Parameters.Create("ProductModels", true, Microsoft.Office.Server.ApplicationRegistry.MetadataModel.DirectionType.Return, "Microsoft.Office.Server.ApplicationRegistry.Infrastructure.DotNetTypeReflector");
                    IList<Identifier> ids = new List<Identifier>(entity.Identifiers);
                    Identifier id = ids[0];
                    TypeDescriptor td2 = p2.CreateRootTypeDescriptor("ProductModelDataReader", true, "System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", null, null, true);
                    TypeDescriptor td21 = td2.ChildTypeDescriptors.Create("ProductModelDataRecord", true, "System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", null, null, false);
                    TypeDescriptor td210 = td21.ChildTypeDescriptors.Create("ProductModelID", true, "System.Int32", id, null, false);
                    TypeDescriptor td211 = td21.ChildTypeDescriptors.Create("Name", true, "System.String", null, null, false);
                    TypeDescriptor td212 = td21.ChildTypeDescriptors.Create("CatalogDescription", true, "System.String", null, null, false);
                    MethodInstance methInst1 = meth.MethodInstances.Create("ProductModelFinder", true, td2, Microsoft.Office.Server.ApplicationRegistry.MetadataModel.MethodInstanceType.Finder);
                    MethodInstance methInst2 = meth.MethodInstances.Create("ProductModelSpecificFinder", true, td2, Microsoft.Office.Server.ApplicationRegistry.MetadataModel.MethodInstanceType.SpecificFinder);
                    IList<MethodInstance> methInstCollection = new List<MethodInstance>(entity.MethodInstances);
                    td1.SetDefaultValue(methInstCollection[0].Id, "%");
                    td1.SetDefaultValue(methInstCollection[1].Id, "%");
                    Console.WriteLine("Created the finder method successfully.");
                    break;
                }
            }
        }
    }
}

Hierarquia de herança

System.Object
   Microsoft.Office.Server.ApplicationRegistry.Administration.MetadataObject
     Microsoft.Office.Server.ApplicationRegistry.Administration.AccessControlledMetadataObject
       Microsoft.Office.Server.ApplicationRegistry.Administration.IndividuallySecurableMetadataObject
        Microsoft.Office.Server.ApplicationRegistry.Administration.Method

Segmento de segurança

Qualquer público estático ( compartilhadas Na Visual Basic) os membros desse tipo são segmento seguro. Os membros de instância não são garantia ser segmento seguro.

Consulte também

Referência

Method Membros
Microsoft.Office.Server.ApplicationRegistry.Administration De espaço para nome