科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道利用关联来过滤MOSS中的BDC数据 (1)

利用关联来过滤MOSS中的BDC数据 (1)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

BDC允许我们为特定的LOB(line-of-business)系统定义多个实体。而且,在元数据文件中,我们可以创建关联来定义实体间的层次关系。如,有两个实体的定义,customers和orders。

作者:sunmoonfire 来源:blog 2007年9月2日

关键字: 关联 MOSS SharePoint2007 SharePoint Office

  • 评论
  • 分享微博
  • 分享邮件

BDC允许我们为特定的LOB(line-of-business)系统定义多个实体。而且,在元数据文件中,我们可以创建关联来定义实体间的层次关系。如,有两个实体的定义,customersorders。我们可以创建关联将customer实体直接与order实体联系在一起。这样就可以允许用户在MOSS中创建并使用主(master-child)行为。

本文将向大家介绍如何在MOSS中利用关联来过滤BDC数据。大家继续使用之前在介绍BDC实体创建的文章中使用的元数据文件。

  1. 在元数据文件中添加Sales Order实体

    在已有的
    Customer实体元素下面添加下列内容。该XML定义了一个新的实体,名为SalesOrder。
    <Entity Name="SalesOrder">
       
    <Properties>
          
    <Property Name="Title" Type="System.String">salesordernumber</Property>
       
    </Properties>
       
    <Identifiers>
          
    <Identifier Name="SalesOrderID" TypeName="System.Int32"/>
       
    </Identifiers>
       
    <Methods>
          
    <Method Name="GetSalesOrders">
             
    <Properties>
                
    <Property Name="RdbCommandText" Type="System.String">
                   SELECT
                      soh.salesorderid,
                      soh.orderdate,
                      soh.shipdate,
                      soh.status,
                      soh.salesordernumber,
                      soh.customerid
                   FROM
                      sales.salesorderheader soh
                      inner join sales.customer c
                      on soh.customerid = c.customerid
                   WHERE
                      c.customertype = 'i'
                      AND (soh.salesorderid 
    &gt; @minSalesOrderID AND 
                           soh.salesorderid 
    &lt; @maxSalesOrderID)
                
    </Property>
                
    <Property Name="RdbCommandType" Type="System.String">Text</Property>
             
    </Properties>
             
    <Parameters>
                
    <Parameter Direction="In" Name="@minSalesOrderID">
                      
    <TypeDescriptor TypeName="System.Int32" Name="SalesOrderID" 
                      IdentifierName
    ="SalesOrderID">
                      
    <DefaultValues>
                         
    <DefaultValue MethodInstanceName=
                         "SalesOrderFinderInstance"
     Type="System.Int32">0
                         
    </DefaultValue>
                         
    <DefaultValue MethodInstanceName=
                         "SalesOrderSpecificFinderInstance"
     Type="System.Int32">0
                         
    </DefaultValue>
                      
    </DefaultValues>
                   
    </TypeDescriptor>
                
    </Parameter>
                
    <Parameter Direction="In" Name="@maxSalesOrderID">
                   
    <TypeDescriptor TypeName="System.Int32" Name="SalesOrderID" 
                   IdentifierName
    ="SalesOrderID">
                      
    <DefaultValues>
                         
    <DefaultValue MethodInstanceName=
                         "SalesOrderFinderInstance"
     Type="System.Int32">
                         9999999
    </DefaultValue>
                         
    <DefaultValue MethodInstanceName=
                         "SalesOrderSpecificFinderInstance"
     Type="System.Int32">
                         9999999
    </DefaultValue>
                      
    </DefaultValues>
                   
    </TypeDescriptor>
                
    </Parameter>
                
    <Parameter Direction="Return" Name="SalesOrders">
                   
    <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, 
                   Version=2.0.3600.0, Culture=neutral, PublicKeyToken=
                   b77a5c561934e089"
     IsCollection="true" Name="SalesOrderDataReader">
                      
    <TypeDescriptors>
                         
    <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, 
                         Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
     
                         Name
    ="SalesOrderDataRecord">
                            
    <TypeDescriptors>
                               
    <TypeDescriptor TypeName="System.Int32" IdentifierName=
                               "SalesOrderID"
     Name="SalesOrderID" />
                               
    <TypeDescriptor TypeName="System.DateTime"  Name="orderdate" />
                               
    <TypeDescriptor TypeName="System.DateTime" Name="shipdate" />
                               
    <TypeDescriptor TypeName="System.String" Name="status" />
                               
    <TypeDescriptor TypeName="System.String" Name="salesordernumber" />
                               
    <TypeDescriptor TypeName="System.Int32" Name="customerid" />
                               
    </TypeDescriptors>
                         
    </TypeDescriptor>
                      
    </TypeDescriptors>
                   
    </TypeDescriptor>
                
    </Parameter>
             
    </Parameters>
             
    <MethodInstances>
                
    <MethodInstance Name="SalesOrderFinderInstance" Type="Finder" 
                ReturnParameterName
    ="SalesOrders" />
                
    <MethodInstance Name="SalesOrderSpecificFinderInstance" Type="SpecificFinder" 
                ReturnParameterName
    ="SalesOrders" />
             
    </MethodInstances>
          
    </Method>
       
    </Methods>
    </Entity>
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章