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
Certifique-se que um provedor de serviços compartilhados já é criado.
Criar uma instância LobSystem LobSystem e definir parâmetros conexão conforme mostrado na Como a: Criar um LobSystem com o modelo de objeto de administração.
Criar a entidade ProductModel como mostrado no Como a: criar uma entidade com o modelo de objeto de administração
Substituir a constante valor EnterYourSSPNameHere na codificar com o nome do seu Shared Resource Provider.
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