Compartir a través de


Fragmentos XML: Modelado de un método AssociationNavigator

Última modificación: miércoles, 21 de abril de 2010

Hace referencia a: SharePoint Server 2010

El siguiente es un ejemplo de un método AssociationNavigator en un modelo de BDC.

Ejemplo

<Method IsStatic="false" Name="Customers Sales Orders"
        DefaultDisplayName="Customers Sales Orders">
  <Properties>
    <Property Name="BackEndObject" Type="System.String">SalesOrderHeader
    </Property>
    <Property Name="BackEndObjectType" Type="System.String">SqlServerTable
    </Property>
    <Property Name="RdbCommandText" Type="System.String">SELECT 
    [SalesOrderID] , [RevisionNumber] , [OrderDate] , [DueDate] , 
    [ShipDate] , [Status] , [OnlineOrderFlag] , [SalesOrderNumber] , 
    [PurchaseOrderNumber] , [AccountNumber] , [CustomerID] , [ContactID] , 
    [BillToAddressID] , [ShipToAddressID] , [ShipMethodID] , [SubTotal] , 
    [TaxAmt] , [Freight] , [TotalDue] , [Comment] , [rowguid] , 
    [ModifiedDate] , [TerritoryID] FROM [Sales].[SalesOrderHeader] 
    WHERE [CustomerID] = @CustomerID</Property>
    <Property Name="RdbCommandType" 
              Type="System.Data.CommandType, System.Data, Version=2.0.0.0, 
              Culture=neutral, PublicKeyToken=b77a5c561934e089">
      Text</Property>
    <Property Name="Schema" Type="System.String">Sales</Property>
  </Properties>
  <Parameters>
    <Parameter Direction="In" Name="@CustomerID">
      <TypeDescriptor TypeName="System.Int32" IdentifierName="CustomerID" 
                      IdentifierEntityName="Customer" 
                      IdentifierEntityNamespace="AdventureWorks" 
                      ForeignIdentifierAssociationName="Customers Sales Orders" 
                      Name="CustomerID" />
    </Parameter>
    <Parameter Direction="Return" Name="Customers Sales Orders">
      <TypeDescriptor 
        TypeName="System.Data.IDataReader, System.Data, Version=2.0.0.0, 
        Culture=neutral, PublicKeyToken=b77a5c561934e089" 
        IsCollection="true" Name="Read Item">
        <TypeDescriptors>
          <TypeDescriptor 
            TypeName="System.Data.IDataRecord, System.Data, Version=2.0.0.0, 
            Culture=neutral, PublicKeyToken=b77a5c561934e089" 
            Name="Read ItemElement">
            <TypeDescriptors>
              <TypeDescriptor TypeName="System.Int32" ReadOnly="true" 
                              IdentifierName="SalesOrderID" 
                              Name="SalesOrderID" />
              <TypeDescriptor TypeName="System.Byte" 
                              Name="RevisionNumber">
                <Properties>
                  <Property Name="RequiredInForms" Type="System.Boolean">
                    true</Property>
                </Properties>
              </TypeDescriptor>
              <TypeDescriptor TypeName="System.DateTime" Name="OrderDate">
                <Properties>
                  <Property Name="RequiredInForms" Type="System.Boolean">
                    true</Property>
                </Properties>
                <Interpretation>
                  <NormalizeDateTime LobDateTimeMode="UTC" />
                </Interpretation>
              </TypeDescriptor>
              <TypeDescriptor TypeName="System.DateTime" Name="DueDate">
                <Properties>
                  <Property Name="RequiredInForms" Type="System.Boolean">
                    true</Property>
                </Properties>
                <Interpretation>
                  <NormalizeDateTime LobDateTimeMode="UTC" />
                </Interpretation>
              </TypeDescriptor>
              <TypeDescriptor 
                TypeName="System.Nullable`1[[System.DateTime, mscorlib, Version=2.0.0.0, 
                Culture=neutral, PublicKeyToken=b77a5c561934e089]]" 
                Name="ShipDate">
                <Interpretation>
                  <NormalizeDateTime LobDateTimeMode="UTC" />
                </Interpretation>
              </TypeDescriptor>
              <TypeDescriptor TypeName="System.Byte" Name="Status">
                <Properties>
                  <Property Name="RequiredInForms" Type="System.Boolean">
                    true</Property>
                </Properties>
              </TypeDescriptor>
              <TypeDescriptor TypeName="System.Boolean" 
                              Name="OnlineOrderFlag">
                <Properties>
                  <Property Name="RequiredInForms" Type="System.Boolean">
                    true</Property>
                </Properties>
              </TypeDescriptor>
              <TypeDescriptor TypeName="System.String" ReadOnly="true" 
                              Name="SalesOrderNumber">
                <Properties>
                  <Property Name="Size" Type="System.Int32">25</Property>
                </Properties>
                <Interpretation>
                  <NormalizeString FromLOB="NormalizeToNull" 
                                   ToLOB="NormalizeToNull" />
                </Interpretation>
              </TypeDescriptor>
              <TypeDescriptor TypeName="System.String" 
                              Name="PurchaseOrderNumber">
                <Properties>
                  <Property Name="Size" Type="System.Int32">25</Property>
                </Properties>
                <Interpretation>
                  <NormalizeString FromLOB="NormalizeToNull" 
                                   ToLOB="NormalizeToNull" />
                </Interpretation>
              </TypeDescriptor>
              <TypeDescriptor TypeName="System.String" 
                              Name="AccountNumber">
                <Properties>
                  <Property Name="Size" Type="System.Int32">15</Property>
                </Properties>
                <Interpretation>
                  <NormalizeString FromLOB="NormalizeToNull" 
                                   ToLOB="NormalizeToNull" />
                </Interpretation>
              </TypeDescriptor>
              <TypeDescriptor TypeName="System.Int32" 
                              IdentifierName="CustomerID" 
                              IdentifierEntityName="Customer" 
                              IdentifierEntityNamespace="AdventureWorks" 
                              ForeignIdentifierAssociationName="Customers Sales Orders" 
                              Name="CustomerID">
                <Properties>
                  <Property Name="RequiredInForms" Type="System.Boolean">
                    true</Property>
                </Properties>
              </TypeDescriptor>
              <TypeDescriptor TypeName="System.Int32" Name="ContactID">
                <Properties>
                  <Property Name="RequiredInForms" Type="System.Boolean">
                    true</Property>
                </Properties>
              </TypeDescriptor>
              <TypeDescriptor TypeName="System.Int32" Name="BillToAddressID">
                <Properties>
                  <Property Name="RequiredInForms" Type="System.Boolean">
                    true</Property>
                </Properties>
              </TypeDescriptor>
              <TypeDescriptor TypeName="System.Int32" Name="ShipToAddressID">
                <Properties>
                  <Property Name="RequiredInForms" Type="System.Boolean">
                    true</Property>
                </Properties>
              </TypeDescriptor>
              <TypeDescriptor TypeName="System.Int32" Name="ShipMethodID">
                <Properties>
                  <Property Name="RequiredInForms" Type="System.Boolean">
                    true</Property>
                </Properties>
              </TypeDescriptor>
              <TypeDescriptor TypeName="System.Decimal" Name="SubTotal">
                <Properties>
                  <Property Name="Decimal Digits" Type="System.Int32">
                    4</Property>
                  <Property Name="RequiredInForms" Type="System.Boolean">
                    true</Property>
                </Properties>
              </TypeDescriptor>
              <TypeDescriptor TypeName="System.Decimal" Name="TaxAmt">
                <Properties>
                  <Property Name="Decimal Digits" Type="System.Int32">
                    4</Property>
                  <Property Name="RequiredInForms" Type="System.Boolean">
                    true</Property>
                </Properties>
              </TypeDescriptor>
              <TypeDescriptor TypeName="System.Decimal" Name="Freight">
                <Properties>
                  <Property Name="Decimal Digits" Type="System.Int32">
                    4</Property>
                  <Property Name="RequiredInForms" Type="System.Boolean">
                    true</Property>
                </Properties>
              </TypeDescriptor>
              <TypeDescriptor 
                TypeName="System.Nullable`1[[System.Decimal, mscorlib, Version=2.0.0.0, 
                Culture=neutral, PublicKeyToken=b77a5c561934e089]]" 
                ReadOnly="true" Name="TotalDue">
                <Properties>
                  <Property Name="Decimal Digits" Type="System.Int32">
                    4</Property>
                </Properties>
              </TypeDescriptor>
              <TypeDescriptor TypeName="System.String" Name="Comment">
                <Properties>
                  <Property Name="Size" Type="System.Int32">128</Property>
                </Properties>
                <Interpretation>
                  <NormalizeString FromLOB="NormalizeToNull" 
                                   ToLOB="NormalizeToNull" />
                </Interpretation>
              </TypeDescriptor>
              <TypeDescriptor TypeName="System.Guid" Name="rowguid">
                <Properties>
                  <Property Name="RequiredInForms" Type="System.Boolean">
                    true</Property>
                </Properties>
              </TypeDescriptor>
              <TypeDescriptor TypeName="System.DateTime" Name="ModifiedDate">
                <Properties>
                  <Property Name="RequiredInForms" Type="System.Boolean">
                    true</Property>
                </Properties>
                <Interpretation>
                  <NormalizeDateTime LobDateTimeMode="UTC" />
                </Interpretation>
              </TypeDescriptor>
              <TypeDescriptor TypeName="System.Nullable`1[[System.Int32, 
                              mscorlib, Version=2.0.0.0, Culture=neutral, 
                              PublicKeyToken=b77a5c561934e089]]" 
                              Name="TerritoryID" />
            </TypeDescriptors>
          </TypeDescriptor>
        </TypeDescriptors>
      </TypeDescriptor>
    </Parameter>
  </Parameters>
  <MethodInstances>
    <Association Type="AssociationNavigator" 
                 ReturnParameterName="Customers Sales Orders" 
                 Name="Customers Sales Orders" 
                 DefaultDisplayName="Customers Sales Orders">
      <SourceEntity Namespace="AdventureWorks" Name="Customer" />
      <DestinationEntity Namespace="AdventureWorks" Name="SalesOrder" />
    </Association>
  </MethodInstances>
</Method>

Para obtener un ejemplo de modelo completo de BDC que incluya un elemento AssociationNavigator, realice lo siguiente:

  1. Descargue el SDK de Microsoft SharePoint 2010.

  2. Extraiga "bcs sample kit.zip" de "%ProgramFiles%\Microsoft SDKs\SharePoint 2010\Samples\Business Connectivity Services" en una carpeta local.

  3. En la carpeta en la que extrajo los archivos, busque la carpeta de modelos BDC para fragmentos de código XML. Esta carpeta contiene ejemplos de modelos de BDC.