Condividi tramite


XML Snippet: Modeling an AssociationNavigator Method

Applies to: SharePoint Server 2010

The following is an example of an AssociationNavigator method in a BDC model.

Example

<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>

For a complete BDC model sample that includes an AssociationNavigator, do the following:

  1. Download the Microsoft SharePoint 2010 SDK.

  2. Extract "bcs sample kit.zip" from "%ProgramFiles%\Microsoft SDKs\SharePoint 2010\Samples\Business Connectivity Services" to a local folder.

  3. In the folder where you extracted the files, locate the "BDC Models for XML Snippets" folder. This folder contains BDC model samples.