作成手順 8: LineItem 外部コンテンツ タイプを定義する
最終更新日: 2010年6月11日
適用対象: SharePoint Server 2010
この手順では、LineItem という名前の外部コンテンツ タイプを定義します。LineItem 外部コンテンツ タイプは、A->B->C という種類の関連付けを持つことができることを示します。ここでは、Customer および Region -> Order -> LineItem です。GetLineItemsForOrder メソッドは、関連付けメソッドです。ここで示すもう 1 つの概念は、OrderID および ProductID という複数の識別子を持つ外部コンテンツ タイプ (複合キー) です。
前提条件
作成手順 7: Order 外部コンテンツ タイプを定義する
LineItem 外部コンテンツ タイプを定義するには
LineItem 外部コンテンツ タイプの XML を、Order エンティティ要素の後に追加します。この XML では、エンティティのタイトル、識別子、および LineItems を返すメソッドが定義されています。
<Entity Namespace="SampleWebService" Version="1.0.0.0" EstimatedInstanceCount="10000" Name="WSLineItem" DefaultDisplayName="WSLineItem"> <Identifiers> <Identifier TypeName="System.String" Name="OrderID" /> <Identifier TypeName="System.String" Name="ProductID" /> </Identifiers> <Methods> <Method IsStatic="false" Name="GetLineItemByID"> <Parameters> <Parameter Direction="In" Name="ordid"> <TypeDescriptor TypeName="System.String" IdentifierName="OrderID" Name="ordid" DefaultDisplayName="OrderID" /> </Parameter> <Parameter Direction="In" Name="prodid"> <TypeDescriptor TypeName="System.String" IdentifierName="ProductID" Name="prodid" DefaultDisplayName="ProductID" /> </Parameter> <Parameter Direction="Return" Name="GetLineItemByID"> <TypeDescriptor TypeName="BCSServiceProxy.LineItem, http://air-mail/WSOrders2010/service.asmx?wsdl" Name="GetLineItemByID"> <TypeDescriptors> <TypeDescriptor TypeName="System.String" ReadOnly="true" IdentifierName="OrderID" Name="OrderID" /> <TypeDescriptor TypeName="System.String" ReadOnly="true" IdentifierName="ProductID" Name="ProductID" /> <TypeDescriptor TypeName="System.String" Name="ProductName" /> <TypeDescriptor TypeName="System.Int32" Name="OrderQty" /> <TypeDescriptor TypeName="System.Decimal" Name="UnitPrice"> <Properties> <Property Name="Decimal Digits" Type="System.Int32">4</Property> </Properties> </TypeDescriptor> <TypeDescriptor TypeName="System.Decimal" Name="LineTotal"> <Properties> <Property Name="Decimal Digits" Type="System.Int32">4</Property> </Properties> </TypeDescriptor> </TypeDescriptors> </TypeDescriptor> </Parameter> </Parameters> <MethodInstances> <MethodInstance Type="SpecificFinder" ReturnParameterName="GetLineItemByID" Default="true" Name="GetLineItemByID" DefaultDisplayName="Read Item WSLineItem"> <Properties> <Property Name="LastDesignedOfficeItemType" Type="System.String">None</Property> </Properties> </MethodInstance> </MethodInstances> </Method> <Method IsStatic="false" Name="GetLineItems"> <Parameters> <Parameter Direction="Return" Name="GetLineItems"> <TypeDescriptor TypeName="BCSServiceProxy.LineItem[], http://air-mail/WSOrders2010/service.asmx?wsdl" IsCollection="true" Name="GetLineItems"> <TypeDescriptors> <TypeDescriptor TypeName="BCSServiceProxy.LineItem, http://air-mail/WSOrders2010/service.asmx?wsdl" Name="GetLineItemsElement"> <TypeDescriptors> <TypeDescriptor TypeName="System.String" ReadOnly="true" IdentifierName="OrderID" Name="OrderID" /> <TypeDescriptor TypeName="System.String" ReadOnly="true" IdentifierName="ProductID" Name="ProductID" /> <TypeDescriptor TypeName="System.String" Name="ProductName"> <Properties> <Property Name="ShowInPicker" Type="System.Boolean">true</Property> </Properties> </TypeDescriptor> <TypeDescriptor TypeName="System.Int32" Name="OrderQty" /> <TypeDescriptor TypeName="System.Decimal" Name="UnitPrice"> <Properties> <Property Name="Decimal Digits" Type="System.Int32">4</Property> </Properties> </TypeDescriptor> <TypeDescriptor TypeName="System.Decimal" Name="LineTotal"> <Properties> <Property Name="Decimal Digits" Type="System.Int32">4</Property> </Properties> </TypeDescriptor> </TypeDescriptors> </TypeDescriptor> </TypeDescriptors> </TypeDescriptor> </Parameter> </Parameters> <MethodInstances> <MethodInstance Type="Finder" ReturnParameterName="GetLineItems" Default="true" Name="GetLineItems" DefaultDisplayName="WSLineItem Read List"> <Properties> <Property Name="UseClientCachingForSearch" Type="System.String"></Property> <Property Name="RootFinder" Type="System.String"></Property> </Properties> </MethodInstance> </MethodInstances> </Method> </Methods> </Entity>