AdventureWorksDW SQL Server 2005 Sample

If you are looking for the Microsoft SQL Server 2005 version of the AdventureWorks metadata, you are in the right place. We realized that some of you are using Microsoft SQL Server 2005 and so the SQL Server 2000 version of the metadata is almost unusable for you. We have now included the sample metadata that connects to the AdventureWorksDW database that is included with Microsoft SQL Server 2005. Because the concepts and the deployment steps remain the same, we ask you to refer to the AdventureWorks SQL Server 2000 Sample for details.

Requirements

Microsoft SQL Server 2005 and the AdventureWorksDW database.

Example

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- This metadata defines four entities from the AdventureWorksDW Microsoft SQL Server 2005 sample database. Refer to the AdventureWorks 2000 XML for comments and the Walkthrough for instructions. -->
<LobSystem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://schemas.microsoft.com/office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Type="Database" Version="1.0.0.0" Name="AdventureWorksDW" xmlns="https://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">
  <Properties>
    <Property Name="WildcardCharacter" Type="System.String">%</Property>
  </Properties>
  <LobSystemInstances>
    <LobSystemInstance Name="AdventureWorksDWInstance">
      <Properties>
        <Property Name="AuthenticationMode" Type="Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAuthenticationMode">PassThrough</Property>
        <Property Name="DatabaseAccessProvider" Type="Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAccessProvider">SqlServer</Property>
        <Property Name="RdbConnection Data Source" Type="System.String">EnterYourAdventureWorksDW2005ServerNameHere</Property>
        <Property Name="RdbConnection Initial Catalog" Type="System.String">AdventureWorksDW</Property>
        <Property Name="RdbConnection Integrated Security" Type="System.String">SSPI</Property>
      </Properties>
    </LobSystemInstance>
  </LobSystemInstances>
  <Entities>
    <Entity EstimatedInstanceCount="10000" Name="Product">
      <Properties>
        <Property Name="Title" Type="System.String">EnglishProductName</Property>
        <Property Name="DefaultAction" Type="System.String">View Profile</Property>
      </Properties>
      <Identifiers>
        <Identifier Name="ProductKey" TypeName="System.Int32" />
      </Identifiers>
      <Methods>
        <Method Name="GetProducts">
          <Properties>
            <Property Name="RdbCommandText" Type="System.String">SELECT * FROM DimProduct WHERE (ProductKey &gt;= @MinProductKey) AND (ProductKey &lt;= @MaxProductKey) AND (EnglishProductName LIKE @EnglishProductName) AND (EnglishDescription LIKE @EnglishDescription) AND (Status='Current')</Property>
            <Property Name="RdbCommandType" Type="System.Data.CommandType">Text</Property>
          </Properties>
          <FilterDescriptors>
            <FilterDescriptor Type="Comparison" Name="Key" >
              <Properties>
                <Property Name="Comparator" Type="System.String">Equals</Property>
              </Properties>
            </FilterDescriptor>
            <FilterDescriptor Type="Wildcard" Name="Name">
              <Properties>
                <Property Name="UsedForDisambiguation" Type="System.Boolean">true</Property>
              </Properties>
            </FilterDescriptor>
            <FilterDescriptor Type="Wildcard" Name="Description" />
          </FilterDescriptors>
          <Parameters>
            <Parameter Direction="In" Name="@MinProductKey">
              <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductKey" AssociatedFilter="Key" Name="MinProductKey">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ProductFinderInstance" Type="System.Int32">0</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="In" Name="@MaxProductKey">
              <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductKey" AssociatedFilter="Key" Name="MaxProductKey">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ProductFinderInstance" Type="System.Int32">99999999</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="In" Name="@EnglishProductName">
              <TypeDescriptor TypeName="System.String" AssociatedFilter="Name" Name="EnglishProductName">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ProductFinderInstance" Type="System.String">%</DefaultValue>
                  <DefaultValue MethodInstanceName="ProductSpecificFinderInstance" Type="System.String">%</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="In" Name="@EnglishDescription">
              <TypeDescriptor TypeName="System.String" AssociatedFilter="Description" Name="EnglishDescription">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ProductFinderInstance" Type="System.String">%</DefaultValue>
                  <DefaultValue MethodInstanceName="ProductSpecificFinderInstance" Type="System.String">%</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="Return" Name="Products">
              <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="ProductDataReader">
                <TypeDescriptors>
                  <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="ProductDataRecord">
                    <TypeDescriptors>
                      <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductKey" Name="ProductKey">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Key</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="EnglishProductName">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Name</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="EnglishDescription">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Description</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.Decimal" Name="ListPrice">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">List Price</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.Decimal" Name="StandardCost">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Standard Cost</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="Color">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Color</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="Size">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Size</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="Class">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Class</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.Int32" Name="DaysToManufacture">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Days To Manufacture</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                    </TypeDescriptors>
                  </TypeDescriptor>
                </TypeDescriptors>
              </TypeDescriptor>
            </Parameter>
          </Parameters>
          <MethodInstances>
            <MethodInstance Name="ProductFinderInstance" Type="Finder" ReturnParameterName="Products" />
            <MethodInstance Name="ProductSpecificFinderInstance" Type="SpecificFinder" ReturnParameterName="Products" />
          </MethodInstances>
        </Method>
      </Methods>
    </Entity>
    <Entity EstimatedInstanceCount="1000" Name="Reseller">
      <Properties>
        <Property Name="__BdcTitle" Type="System.String">ResellerName</Property>
        <Property Name="Title" Type="System.String">ResellerName</Property>
        <Property Name="DefaultAction" Type="System.String">View Profile</Property>
      </Properties>
      <Identifiers>
        <Identifier Name="ResellerKey" TypeName="System.Int32" />
      </Identifiers>
      <Methods>
        <Method Name="ResellerIDEnumerator">
          <Properties>
            <Property Name="RdbCommandText" Type="System.String">SELECT ResellerKey FROM DimReseller</Property>
            <Property Name="RdbCommandType" Type="System.Data.CommandType">Text</Property>
          </Properties>
          <Parameters>
            <Parameter Direction="Return" Name="Resellers">
              <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="ResellerDataReader">
                <TypeDescriptors>
                  <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="ResellerDataRecord">
                    <TypeDescriptors>
                      <TypeDescriptor TypeName="System.Int32" IdentifierName="ResellerKey" Name="ResellerKey" />
                    </TypeDescriptors>
                  </TypeDescriptor>
                </TypeDescriptors>
              </TypeDescriptor>
            </Parameter>
          </Parameters>
          <MethodInstances>
            <MethodInstance Name="ResellerIDEnumeratorInstance" Type="IdEnumerator" ReturnParameterName="Resellers" />
          </MethodInstances>
        </Method>
        <Method Name="ResellerFinder">
          <Properties>
            <Property Name="RdbCommandText" Type="System.String">
              <![CDATA[
              SELECT ResellerKey,DimReseller.GeographyKey,ResellerAlternateKey,Phone,BusinessType,
              ResellerName,NumberEmployees,OrderFrequency,FirstOrderYear,LastOrderYear,ProductLine,
              AddressLine1,AddressLine2,AnnualSales,BankName,MinPaymentAmount,AnnualRevenue,YearOpened,
              City,StateProvinceCode,StateProvinceName,CountryRegionCode,EnglishCountryRegionName,PostalCode
              FROM DimReseller INNER JOIN DimGeography 
              ON DimReseller.GeographyKey = DimGeography.GeographyKey 
              WHERE (ResellerKey >= @MinResellerKey) AND (ResellerKey <= @MaxResellerKey) AND (ResellerName LIKE @ResellerName)
              ]]>
            </Property>
            <Property Name="RdbCommandType" Type="System.Data.CommandType">Text</Property>
          </Properties>
          <FilterDescriptors>
            <FilterDescriptor Type="Wildcard" Name="Name">
              <Properties>
                <Property Name="UsedForDisambiguation" Type="System.Boolean">true</Property>
              </Properties>
            </FilterDescriptor>
            <FilterDescriptor Type="Comparison" Name="Key" >
              <Properties>
                <Property Name="Comparator" Type="System.String">Equals</Property>
              </Properties>
            </FilterDescriptor>
          </FilterDescriptors>
          <Parameters>
            <Parameter Direction="In" Name="@MinResellerKey">
              <TypeDescriptor TypeName="System.Int32" IdentifierName="ResellerKey" AssociatedFilter="Key" Name="MinResellerKey">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ResellerFinderInstance" Type="System.Int32">0</DefaultValue>
                  <DefaultValue MethodInstanceName="ResellerSpecificFinderInstance" Type="System.Int32">0</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="In" Name="@MaxResellerKey">
              <TypeDescriptor TypeName="System.Int32" IdentifierName="ResellerKey" AssociatedFilter="Key" Name="MaxResellerKey">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ResellerFinderInstance" Type="System.Int32">9999999</DefaultValue>
                  <DefaultValue MethodInstanceName="ResellerSpecificFinderInstance" Type="System.Int32">9999999</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="In" Name="@ResellerName">
              <TypeDescriptor TypeName="System.String" AssociatedFilter="Name" Name="ResellerName">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ResellerFinderInstance" Type="System.String">%</DefaultValue>
                  <DefaultValue MethodInstanceName="ResellerSpecificFinderInstance" Type="System.String">%</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="Return" Name="Resellers">
              <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="Resellers">
                <TypeDescriptors>
                  <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Reseller">
                    <TypeDescriptors>
                      <TypeDescriptor TypeName="System.Int32" IdentifierName="ResellerKey" Name="ResellerKey">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Number</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="Phone">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Phone</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="BusinessType">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Business Type</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="ResellerName">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Name</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.Int32" Name="NumberEmployees">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Employees</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="OrderFrequency">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Order Frequency</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.Int32" Name="FirstOrderYear">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">First Order Year</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.Int32" Name="LastOrderYear">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Last Order Year</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="ProductLine">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Product Line</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="AddressLine1">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Address Line 1</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="AddressLine2">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Address Line 2</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.Decimal" Name="AnnualSales">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Annual Sales</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="BankName">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Bank Name</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.Decimal" Name="MinPaymentAmount">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Minimum Payment Amount</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.Decimal" Name="AnnualRevenue">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Annual Revenue</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.Int32" Name="YearOpened">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Year Opened</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="City">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">City</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="StateProvinceCode">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">State/Province Code</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="StateProvinceName">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">State/Province</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="CountryRegionCode">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Country/Region Code</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="EnglishCountryRegionName">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Country/Region</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="PostalCode">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Postal Code</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                    </TypeDescriptors>
                  </TypeDescriptor>
                </TypeDescriptors>
              </TypeDescriptor>
            </Parameter>
          </Parameters>
          <MethodInstances>
            <MethodInstance Name="ResellerFinderInstance" Type="Finder" ReturnParameterName="Resellers" />
            <MethodInstance Name="ResellerSpecificFinderInstance" Type="SpecificFinder" ReturnParameterName="Resellers" />
          </MethodInstances>
        </Method>
      </Methods>
    </Entity>
    <Entity EstimatedInstanceCount="10000" Name="ProductSubcategory">
      <LocalizedDisplayNames>
        <LocalizedDisplayName LCID="1033">Product Subcategory</LocalizedDisplayName>
      </LocalizedDisplayNames>
      <Properties>
        <Property Name="Title" Type="System.String">EnglishProductSubcategoryName</Property>
        <Property Name="DefaultAction" Type="System.String">View Profile</Property>
      </Properties>
      <Identifiers>
        <Identifier Name="ProductSubcategoryKey" TypeName="System.Int32" />
      </Identifiers>
      <Methods>
        <Method Name="GetProductSubcategories">
          <Properties>
            <Property Name="RdbCommandText" Type="System.String">SELECT * FROM DimProductSubcategory WHERE (ProductSubcategoryKey &gt;= @MinProductSubcategoryKey) AND (ProductSubcategoryKey &lt;= @MaxProductSubcategoryKey) AND (EnglishProductSubcategoryName LIKE @EnglishProductSubcategoryName)</Property>
            <Property Name="RdbCommandType" Type="System.Data.CommandType">Text</Property>
          </Properties>
          <FilterDescriptors>
            <FilterDescriptor Type="Comparison" Name="Key" >
              <Properties>
                <Property Name="Comparator" Type="System.String">Equals</Property>
              </Properties>
            </FilterDescriptor>
            <FilterDescriptor Type="Wildcard" Name="Name">
              <Properties>
                <Property Name="UsedForDisambiguation" Type="System.Boolean">true</Property>
              </Properties>
            </FilterDescriptor>
          </FilterDescriptors>
          <Parameters>
            <Parameter Direction="In" Name="@MinProductSubcategoryKey">
              <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductSubcategoryKey" AssociatedFilter="Key" Name="MinProductSubcategoryKey">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ProductSubcategoryFinderInstance" Type="System.Int32">0</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="In" Name="@MaxProductSubcategoryKey">
              <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductSubcategoryKey" AssociatedFilter="Key" Name="MaxProductSubcategoryKey">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ProductSubcategoryFinderInstance" Type="System.Int32">99999999</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="In" Name="@EnglishProductSubcategoryName">
              <TypeDescriptor TypeName="System.String" AssociatedFilter="Name" Name="EnglishProductSubcategoryName">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ProductSubcategoryFinderInstance" Type="System.String">%</DefaultValue>
                  <DefaultValue MethodInstanceName="ProductSubcategorySpecificFinderInstance" Type="System.String">%</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="Return" Name="ProductSubcategories">
              <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="ProductSubcategoryDataReader">
                <TypeDescriptors>
                  <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="ProductSubcategoryDataRecord">
                    <TypeDescriptors>
                      <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductSubcategoryKey" Name="ProductSubcategoryKey">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Key</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="EnglishProductSubcategoryName">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Name</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                    </TypeDescriptors>
                  </TypeDescriptor>
                </TypeDescriptors>
              </TypeDescriptor>
            </Parameter>
          </Parameters>
          <MethodInstances>
            <MethodInstance Name="ProductSubcategoryFinderInstance" Type="Finder" ReturnParameterName="ProductSubcategories" />
            <MethodInstance Name="ProductSubcategorySpecificFinderInstance" Type="SpecificFinder" ReturnParameterName="ProductSubcategories" />
          </MethodInstances>
        </Method>
        <Method Name="GetProducts">
          <Properties>
            <Property Name="RdbCommandText" Type="System.String">SELECT * FROM DimProduct WHERE ProductSubcategoryKey = @ProductSubcategoryKey AND Status = 'Current'</Property>
            <Property Name="RdbCommandType" Type="System.Data.CommandType">Text</Property>
          </Properties>
          <Parameters>
            <Parameter Direction="In" Name="@ProductSubcategoryKey">
              <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductSubcategoryKey" Name="ProductSubcategoryKey" />
            </Parameter>
            <Parameter Direction="Return" Name="Products">
              <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="ProductDataReader">
                <TypeDescriptors>
                  <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="ProductDataRecord">
                    <TypeDescriptors>
                      <TypeDescriptor TypeName="System.Int32" IdentifierEntityName="Product" IdentifierName="ProductKey" Name="ProductKey">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Key</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="EnglishProductName">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Name</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="EnglishDescription">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Description</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                    </TypeDescriptors>
                  </TypeDescriptor>
                </TypeDescriptors>
              </TypeDescriptor>
            </Parameter>
          </Parameters>
        </Method>
      </Methods>
    </Entity>
    <Entity EstimatedInstanceCount="10000" Name="ProductCategory">
      <LocalizedDisplayNames>
        <LocalizedDisplayName LCID="1033">Product Category</LocalizedDisplayName>
      </LocalizedDisplayNames>
      <Properties>
        <Property Name="Title" Type="System.String">EnglishProductCategoryName</Property>
        <Property Name="DefaultAction" Type="System.String">View Profile</Property>
      </Properties>
      <Identifiers>
        <Identifier Name="ProductCategoryKey" TypeName="System.Int32" />
      </Identifiers>
      <Methods>
        <Method Name="GetProductCategories">
          <Properties>
            <Property Name="RdbCommandText" Type="System.String">SELECT * FROM DimProductCategory WHERE (ProductCategoryKey &gt;= @MinProductCategoryKey) AND (ProductCategoryKey &lt;= @MaxProductCategoryKey) AND (EnglishProductCategoryName LIKE @EnglishProductCategoryName)</Property>
            <Property Name="RdbCommandType" Type="System.Data.CommandType">Text</Property>
          </Properties>
          <FilterDescriptors>
            <FilterDescriptor Type="Comparison" Name="Key" >
              <Properties>
                <Property Name="Comparator" Type="System.String">Equals</Property>
              </Properties>
            </FilterDescriptor>
            <FilterDescriptor Type="Wildcard" Name="Name">
              <Properties>
                <Property Name="UsedForDisambiguation" Type="System.Boolean">true</Property>
              </Properties>
            </FilterDescriptor>
          </FilterDescriptors>
          <Parameters>
            <Parameter Direction="In" Name="@MinProductCategoryKey">
              <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductCategoryKey" AssociatedFilter="Key" Name="MinProductCategoryKey">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ProductCategoryFinderInstance" Type="System.Int32">0</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="In" Name="@MaxProductCategoryKey">
              <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductCategoryKey" AssociatedFilter="Key" Name="MaxProductCategoryKey">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ProductCategoryFinderInstance" Type="System.Int32">99999999</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="In" Name="@EnglishProductCategoryName">
              <TypeDescriptor TypeName="System.String" AssociatedFilter="Name" Name="EnglishProductCategoryName">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ProductCategoryFinderInstance" Type="System.String">%</DefaultValue>
                  <DefaultValue MethodInstanceName="ProductCategorySpecificFinderInstance" Type="System.String">%</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="Return" Name="ProductCategories">
              <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="ProductCategoryDataReader">
                <TypeDescriptors>
                  <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="ProductCategoryDataRecord">
                    <TypeDescriptors>
                      <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductCategoryKey" Name="ProductCategoryKey">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Key</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="EnglishProductCategoryName">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Name</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                    </TypeDescriptors>
                  </TypeDescriptor>
                </TypeDescriptors>
              </TypeDescriptor>
            </Parameter>
          </Parameters>
          <MethodInstances>
            <MethodInstance Name="ProductCategoryFinderInstance" Type="Finder" ReturnParameterName="ProductCategories" />
            <MethodInstance Name="ProductCategorySpecificFinderInstance" Type="SpecificFinder" ReturnParameterName="ProductCategories" />
          </MethodInstances>
        </Method>
        <Method Name="GetProductSubcategories">
          <Properties>
            <Property Name="RdbCommandText" Type="System.String">SELECT * FROM DimProductSubcategory WHERE ProductCategoryKey = @ProductCategoryKey</Property>
            <Property Name="RdbCommandType" Type="System.Data.CommandType">Text</Property>
          </Properties>
          <Parameters>
            <Parameter Direction="In" Name="@ProductCategoryKey">
              <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductCategoryKey" Name="ProductCategoryKey" />
            </Parameter>
            <Parameter Direction="Return" Name="ProductSubcategories">
              <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="ProductSubcategoryDataReader">
                <TypeDescriptors>
                  <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="ProductSubcategoryDataRecord">
                    <TypeDescriptors>
                      <TypeDescriptor TypeName="System.Int32" IdentifierEntityName="ProductSubcategory" IdentifierName="ProductSubcategoryKey" Name="ProductSubcategoryKey">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Key</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="EnglishProductSubcategoryName">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Name</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                    </TypeDescriptors>
                  </TypeDescriptor>
                </TypeDescriptors>
              </TypeDescriptor>
            </Parameter>
          </Parameters>
        </Method>
      </Methods>
    </Entity>
  </Entities>
  <Associations>
    <Association AssociationMethodEntityName="ProductSubcategory" AssociationMethodName="GetProducts" AssociationMethodReturnParameterName="Products" Name="ProductSubcategoryToProduct" IsCached="true">
      <SourceEntity Name="ProductSubcategory" />
      <DestinationEntity Name="Product" />
    </Association>
    <Association AssociationMethodEntityName="ProductCategory" AssociationMethodName="GetProductSubcategories" AssociationMethodReturnParameterName="ProductSubcategories" Name="ProductCategoryToProductSubcategory" IsCached="true">
      <SourceEntity Name="ProductCategory" />
      <DestinationEntity Name="ProductSubcategory" />
    </Association>
  </Associations>
</LobSystem>

See Also

Tasks

AdventureWorks SQL Server 2000 Sample
How to: Get Started with Using the Runtime Object Model
How to: Get Started with Using the Administration Object Model

Concepts

Business Data Catalog: Metadata Model
Business Data Catalog: Architecture
FAQ: Business Data Catalog
Business Data Catalog: Glossary