TypeDescriptor
Cada objeto Parameter parâmetro tem um objeto TypeDescriptor TypeDescriptor que define a tipo de dados do parâmetro. É o objeto metadados mais complexa ? um hierárquico objeto que recursivamente descreve um abstrato compilado estrutura de dados up de primitivos. Além disso, cada nó folha dos pontos árvore TypeDescriptor TypeDescriptor a um conjunto de valores possíveis usar como padrão especificado pelo MethodInstance objeto MethodInstance. Portanto, recebe um objeto MethodInstance MethodInstance e um parâmetro, objeto TypeDescriptor TypeDescriptor do parâmetro é uma receita para criar instância um valor usar como padrão para esse parâmetro.
TypeDescriptors in Input Parameters
O atributo IdentifierName IdentifierName em uma entrada TypeDescriptor sinaliza o Business Data Catalog inserir o valor identificador de instância de entidade de relevância antes de executar o método. De exemplo, se isso fizer parte de um SpecificFinderMethodInstance, o usuário provavelmente forneceu o valor identificador para a instância entidade ele ou ela deseja recuperar. O Business Data Catalog insere esse valor nesse slot após totalmente instanciar esse parâmetro usando todos os valores usar como padrão.
O atributo AssociatedFilter AssociatedFilter em uma entrada TypeDescriptor sinaliza o Business Data Catalog inserir o usuário ou valor sistema fornecido após instanciar o parâmetro e antes de executar o método. De exemplo, se isso fizer parte de um FinderMethodInstance, o usuário forneceu valores para alguns ou todos os filtros associado com o método. Esses são inseridos os slots marcados antes da execução método.
TypeDescriptors in Return Parameters
Para sistemas banco de dados, o objeto raiz TypeDescriptor do parâmetro de retorno sempre tem o IsCollection IsCollection. Isso ocorre porque todas as saída de um banco de dados é um transmitir registro regardless of o contexto de semântica ? isto é, se um registro individual ( SpecificFinder / ViewAccessor) ou múltiplo registros ( Finder) são esperados.
Sistemas de banco de dados são estabelecidos como uma transmitir de registros. Como resultado, a raiz TypeDescriptor é um transmitir e o próximo nível TypeDescriptor é um registro. Embora um registro seja uma coleção de colunas, o IsCollection IsCollection sinalizador não está definido como nós desejar o Business Data Catalog para tratá-lo como uma estrutura de campos fortemente tipado.
Em sistemas serviço da Web, usar o IsCollection sinalizador IsCollection em um objeto de retorno TypeDescriptor TypeDescriptor para indicar onde há coleções dentro de parâmetro de retorno. Considere um objeto WebMethod WebMethod que retorna coleções de clientes, onde cada cliente contém uma coleção de endereços. Neste exemplo, o sinalizador deve ser definida duas vezes ? uma vez na raiz Customer[] nível e, em seguida, novamente no Customer[0].Address[] nível. No entanto, um TypeDescriptor TypeDescriptor coleção pode ter apenas um único filho TypeDescriptor objeto abaixo dele que representa a estrutura na coleção.
Os objetos TypeDescriptor TypeDescriptor no representam parâmetro de retorno o Field campo da interface IEntityInstance IEntityInstance construídos pelos Business Data Catalog e retornado para o usuário para exibir ou manipulação. A interface IEntityInstance IEntityInstance fornece um abstrato mecanismo acessar para campos e os valores identificador de instância. Como os valores identificador são promovidos dentro de interface IEntityInstance IEntityInstance para acesso direto, você deve identificar qual objeto TypeDescriptor TypeDescriptor realmente fornece esses valores. Para fazer isso, marcar o objeto Output/Return TypeDescriptor TypeDescriptor com o atributo IdentifierName IdentifierName.
TypeDescriptors in Associations
Um objeto Association associação MethodInstance MethodInstance contém slots na entrada para os valores identificador de instância entidade de origem e um slot na saída para os valores identificador instâncias entidade de destino. Portanto, você deve marca suficiente entrada objetos TypeDescriptor TypeDescriptor marcados com identificadores correspondente para cada identificador de cada entidade que é uma origem na associação no Association de associação. O atributo IdentifierName IdentifierName em uma entrada objeto TypeDescriptor TypeDescriptor o Business Data Catalog inserir o valor identificador de instância de entidade de relevância antes de executar o método sinais. Por exemplo, em um AssociationMethodInstance, o usuário tem provavelmente fornecido o identificador valores para a instância entidade origem que eles desejar para recuperar. O Business Data Catalog irá inserir esse valor para esse slot após totalmente instanciar esse parâmetro usando todos os valores usar como padrão.
Exemplos
Descrição
O seguinte exemplos apresentação um parâmetro simples e um parâmetro de retorno mais complexo que retorno coleção instância uma entidade. O último exemplo mostra um parâmetro que é usado para codificar um DataSet retornado de um método da Web.
O código
Parâmetro simples
<Parameter Direction="In" name="@minCustId">
<TypeDescriptor Typename="System.Int32"
Identifiername="CustomerID" AssociatedFilter="ID" name="minCustId">
<DefaultValues>
<DefaultValue MethodInstancename="CustFinderInstance"
Type="System.Int32">0</DefaultValue>
</DefaultValues>
</TypeDescriptor>
</Parameter>
Parâmetro complexo
<Parameter Direction="Return" name="Customers">
<TypeDescriptor Typename="System.Data.IDataReader, System.Data,
Version=2.0.3600.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" IsCollection="true"
name=" CustomerDataReader">
<TypeDescriptors>
<TypeDescriptor Typename="System.Data.IDataRecord,
System.Data, Version=2.0.3600.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" name="CustomerDataRecord">
<TypeDescriptors>
<TypeDescriptor Typename="System.Int32"
Identifiername="IndividualID" name="IndividualID">
<LocalizedDisplayNames>
<LocalizedDisplayName LCID="1033">ID
</LocalizedDisplayName>
</LocalizedDisplayNames>
</TypeDescriptor>
<TypeDescriptor Typename="System.String"
name="FirstName">
<Properties>
<Property name="DisplayByDefault"
Type="System.Boolean">true</Property>
</Properties>
</TypeDescriptor>
<TypeDescriptor Typename="System.String" name="LastName">
<Properties>
<Property name="DisplayByDefault"
Type="System.Boolean">true</Property>
</Properties>
</TypeDescriptor>
</TypeDescriptors>
</TypeDescriptor>
</TypeDescriptors>
</TypeDescriptor>
</Parameter>
DataSet
<Parameter Direction="Return" name="Customers">
<TypeDescriptor name=""DataSet"" Typename=""System.Data.DataSet, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"">
<TypeDescriptors>
<TypeDescriptor name=""Tables"" Typename=""System.Data.DataTableCollection, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"" IsCollection=""true"">
<TypeDescriptors>
<TypeDescriptor name=""Table"" Typename=""System.Data.DataTable, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"" >
<TypeDescriptors>
<TypeDescriptor name=""Rows"" Typename=""System.Data.DataRowCollection, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"" IsCollection=""true"">
<TypeDescriptors>
<TypeDescriptor name=""DataRow"" Typename=""System.Data.DataRow, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"">
<TypeDescriptors>
<TypeDescriptor name=""field1"" Typename=""System.String"" Identifiername=""f1"" />
<TypeDescriptor name=""field2"" Typename=""System.String"" />
<TypeDescriptor name=""field3"" Typename=""System.String"" />
</TypeDescriptors>
</TypeDescriptor>
</TypeDescriptors>
</TypeDescriptor>
</TypeDescriptors>
</TypeDescriptor>
</TypeDescriptors>
</TypeDescriptor>
</TypeDescriptors>
</TypeDescriptor>
</Parameter>
Esquema
Filho | Tipo | Ocorre | Padrão | Limites/aceitos valores | Descrição |
---|---|---|---|---|---|
TypeName |
Atributo ( String) |
1..1 |
Mín. Comprimento: 1 Máximo. Comprimento: 255 |
Nome do tipo no sistema tipo do sistema de LOB descrito por este objeto TypeDescriptor TypeDescriptor. O ITypeReflector associado com o objeto Parameter parâmetro desse objeto TypeDescriptor TypeDescriptor que é responsável por resolver este tipo sistema de aplicativos LOB para um .NET Type. Na maiúsculas e minúsculas de ambos os serviços da Web e bancos de dados (ADO.NET), o "sistema de tipos sistema de aplicativos LOB" é o sistema tipo .NET, portanto, o valor de TypeName é um nome Type .NET tipo. |
|
IdentifierName |
Atributo ( String) |
0..1 |
Nome do identificador representado por este TypeDescriptor TypeDescriptor. Se esse objeto TypeDecsriptor TypeDecsriptor descreve um parâmetro de entrada de um SpecificFinder SpecificFinder método, o parâmetro é preenchido com valor do identificador quando você chamar o FindSpecific método FindSpecific. If this TypeDescriptor object describes an output parameter or a Finder or SpecificFinder method, the value of the parameter is included in the identifier values collection of returned entity instances when you call FindFiltered or FindSpecific. |
||
IdentifierEntityName |
Atributo ( String) |
0..1 |
A entidade que contém esse objeto TypeDescriptor TypeDescriptor |
Nome da entidade a que contém o identificador representado por este TypeDescriptor TypeDescriptor. IdentifierEntityName é necessário quando você modelo uma associação como um método em uma entidade origem. Este maiúsculas e minúsculas, a entidade origem retorna instâncias da entidade de destino, portanto, você deve definir IdentifierEntityName IdentifierEntityName propriedade com o nome da entidade de destino. |
|
AssociatedFilter |
Atributo ( String) |
0..1 |
Máximo. TypeDescriptor FilterDescriptor TypeDescriptor: 10 |
Nome do filtro associado com esse objeto TypeDescriptor TypeDescriptor. |
|
IsCollection |
Atributo ( Boolean) |
0..1 |
false |
Especifica se o objeto TypeDescriptor TypeDescriptor representa uma coleção. Se true True, a TypeDescriptor deve conter exatamente um filho TypeDescriptor que descreve um elemento na coleção. O parâmetro de retorno de um Finder seqüência deve ter um TypeDescriptor com IsCollection = true. |
|
DefaultValues |
Elemento |
0..1 |
Máximo. Valores usar como padrão por TypeDescriptor: 10 |
Elemento recipiente para DefaultValue. |
|
TypeDescriptors |
Elemento |
0..1 |
Máximo. TypeDescriptor TypeDescriptor TypeDescriptor: 300 |
Elemento recipiente para TypeDescriptor. |
Propriedades
O objeto TypeDescriptor TypeDescriptor aceita a seguinte propriedade nos campos de um parâmetro de retorno.
Importante
Propriedades são com diferenciação de maiúsculas e minúsculas.
Propriedade | Tipo | Necessários | Valor padrão | Limites/_FITTED Valores aceitos | Comentários |
---|---|---|---|---|---|
ShowInPicker |
System.Boolean |
Não |
FALSO |
True FALSO |
Se essa propriedade estiver definida como verdadeiro em um campo de um parâmetro de retorno, em seguida, esse campo é exibido no seletor de dados empresa. Data Catalog de negócios exibe todos os campos que possuam a propriedade "ShowInPicker" definida, mais o campo de título no selecionador de dados empresa. Se não houver nenhuma, ele exibe apenas o campo identificador. |
Consulte também
Outros recursos
Exemplo SQL Server 2000 AdventureWorks
Como a: Get Started with usando o modelo de objeto em tempo de execução
Como a: Get Started with usando o modelo de objeto de administração
Catálogo de dados Business FAQ:
Catálogo de dados de negócios: Glossário