XML Snippet: Use Input Filters in a BDC Model

Applies to: SharePoint Server 2010

The following is an example of an input filter in a BDC model.

Example

<Method Name="FindEmployeesByFilter">
  <FilterDescriptors>
    <FilterDescriptor Type="Input" FilterField="EmployeeFirstName" Name="EmployeeFirstNameFilter" />
  </FilterDescriptors>
  <Parameters>
    <Parameter Direction="In" Name="MinEmployeeId">
      <TypeDescriptor TypeName="System.Int32" IdentifierName="EmployeeId" Name="MinEmployeeId">
        <DefaultValues>
          <DefaultValue MethodInstanceName="FindEmployeesInstanceByFilter" Type="System.Int32">0</DefaultValue>
        </DefaultValues>
      </TypeDescriptor>
    </Parameter>
    <Parameter Direction="In" Name="MaxEmployeeId">
      <TypeDescriptor TypeName="System.Int32" IdentifierName="EmployeeId" Name="MaxEmployeeId">
        <DefaultValues>
          <DefaultValue MethodInstanceName="FindEmployeesInstanceByFilter" Type="System.Int32">9999999</DefaultValue>
        </DefaultValues>
      </TypeDescriptor>
    </Parameter>
    <Parameter Direction="In" Name="MaxEmployees">
      <TypeDescriptor TypeName="System.Int32" IdentifierName="EmployeeId" Name="MaxEmployees">
        <DefaultValues>
          <DefaultValue MethodInstanceName="FindEmployeesInstanceByFilter" Type="System.Int32">9999999</DefaultValue>
        </DefaultValues>
      </TypeDescriptor>
    </Parameter>
    <Parameter Direction="In" Name="EmployeeFirstName">
      <TypeDescriptor TypeName="System.String" AssociatedFilter="EmployeeFirstNameFilter" Name="EmployeeFirstName">
        <DefaultValues>
          <DefaultValue MethodInstanceName="FindEmployeesInstanceByFilter" Type="System.String">A</DefaultValue>
        </DefaultValues>
      </TypeDescriptor>
    </Parameter>
    <Parameter Direction="In" Name="LastIdSeen">
      <TypeDescriptor TypeName="System.Int32" IdentifierName="EmployeeId" Name="LastIdSeen">
        <DefaultValues>
          <DefaultValue MethodInstanceName="FindEmployeesInstanceByFilter" Type="System.Int32">0</DefaultValue>
        </DefaultValues>
      </TypeDescriptor>
    </Parameter>
    <Parameter Direction="Return" Name="Employees">
      <TypeDescriptor TypeName="LOBDataManager.Employee[], WCFLobSystem-InputFilter" IsCollection="true" Name="EmployeeDataReader">
        <TypeDescriptors>
          <TypeDescriptor TypeName="LOBDataManager.Employee, WCFLobSystem-InputFilter" Name="EmployeeDataRecord">
            <TypeDescriptors>
              <TypeDescriptor TypeName="System.Int32" IdentifierName="EmployeeId" Name="EmployeeId" />
              <TypeDescriptor TypeName="System.Nullable`1[[System.Int32]]" IdentifierName="EmployeeId" ForeignIdentifierAssociationName="GetEmployeeReportsAssociation" Name="ManagerId" />
              <TypeDescriptor TypeName="System.String" Name="EmployeeFirstName" />
              <TypeDescriptor TypeName="System.String" Name="EmployeeLastName" />
              <TypeDescriptor TypeName="System.String" Name="Telephone" />
              <TypeDescriptor TypeName="System.DateTime" Significant="false" Name="LastModified">
                <Interpretation>
                  <NormalizeDateTime LobDateTimeMode="UTC" />
                </Interpretation>
              </TypeDescriptor>
            </TypeDescriptors>
          </TypeDescriptor>
        </TypeDescriptors>
      </TypeDescriptor>
    </Parameter>
  </Parameters>
  <MethodInstances>
    <MethodInstance Type="Finder" ReturnParameterName="Employees" Default="true" Name="FindEmployeesInstanceByFilter" />
  </MethodInstances>
</Method>