科技行者

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

知识库

知识库 安全导航

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

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

  • 扫一扫
    分享文章到微信

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

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

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

关键字: MOSS 关联 SharePoint SharePoint2007 Office

  • 评论
  • 分享微博
  • 分享邮件
添加一个新的方法,基于CustomerID来过滤Orders

SalesOrder实体中,已有的方法下面,添加一个新的方法,名为GetSalesOrdersForCustomer.。该方法包含了一个简单的SQL语句。特别值得注意的是WHERE语句,在这里通过customerID字段来进行过滤操作。另外,注意customerID的输入参数(@customerID),这里没有默认参数。该方法作为一个关联方法只有在用户选择了某个customer时才会被调用。

注:输入参数有一个IdentifierName属性和一个IdentifierEntityName属性与其关联。尽管这里我们在SalesOrder实体中使用customerID,但事实上customerIDCustomer实体的标识符。BDC使用customer的标识符来获取选定的customer所对应的特定的sales orders
<Method Name="GetSalesOrdersForCustomer">
   
<Properties>
      
<Property Name="RdbCommandText" Type="System.String">
         SELECT
         soh.salesorderid,
         soh.orderdate,
         soh.shipdate,
         soh.status,
         soh.salesordernumber
         FROM
         sales.salesorderheader soh
         inner join sales.customer c
         on soh.customerid = c.customerid
         where
         c.customertype = 'i'
         AND c.customerid = @customerID
      
</Property>
      
<Property Name="RdbCommandType" Type="System.String">Text</Property>
   
</Properties>
   
<Parameters>
      
<Parameter Direction="In" Name="@customerID">
         
<TypeDescriptor TypeName="System.Int32" Name="CustomerID" IdentifierEntityName=
         "Customer"
 IdentifierName="CustomerID">
            
<!-- Note that we don't have any default values for this. -->
            
<!--Also, note the IdentifierEntityName attribute referes to the customer entity.-->
         
</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" />
                  
</TypeDescriptors>
               
</TypeDescriptor>
            
</TypeDescriptors>
         
</TypeDescriptor>
      
</Parameter>
   
</Parameters>
</Method>
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

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

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