冠军

导航

在 SharePoint2010 中编程方式使用 BCS

原文名称:SP 2010: Programmatically work with External Lists (BCS) in SharePoint 2010

原文地址:http://www.zimmergren.net/archive/2010/01/19/sp-2010-programmatically-work-with-external-lists-bcs-in-sharepoint-2010.aspx

上一篇文章:在 SharePoint2010 中使用 BCS (Business Connectivity Services )

介绍

  • 在 SharePoint2010 中使用 BCS (Business Connectivity Services )
  • 在 SharePoint2010 中编程方式使用 BCS
  • 使用客户端模型编程处理外部列表
  • 在前一篇文章中,我介绍了在 SharePoint2010 中如何简单地配置和使用外部数据,在这篇文章中,我将会介绍如何利用 SharePoint2010 的对象模型来使用外部数据,真的很简单!

    通过 SharePoint 对象模型使用外部数据

    这个例子中的代码与通过 SharePoint 2007 或者 2010 中的其他列表来获取信息没有什么实质的不同。当然,我们不需要学习任何新的框架或者工具来使用外部数据,基本上,就像其他任何的 SPList 一样简单。

    获取外部数据

    在上一篇文章中, SQL Server 中已经存在了一张表:ProductList。表中的数据如下所示:

    从外部列表中获取数据并显示的控制台程序如下所示:

    // Product List is my external list, that is working with data in the SQL Server!
    SPList list = web.Lists["Product List"];

    SPQuery q
    = new SPQuery();
    q.Query
    =
    "<Where><IsNotNull><FieldRef Name='ProductID' /></IsNotNull></Where>";
    q.RowLimit
    = 100;

    SPListItemCollection col
    = list.GetItems(q);

    foreach (SPListItem item in col)
    Console.WriteLine(item[
    "Name"].ToString());

    显示效果如下:

    这就是通过 BCS 从 SQL Server 获得数据需要的工作!

    保存到外部列表

    太简单了,类似下面这样。

    // Get the external list
    SPList list = web.Lists["Product List"];

    // Use the traditional approach to create SPListItems and hook it up with the list
    SPListItem item = list.Items.Add();
    item[
    "Name"] = "Sample Product Wohoo";
    item[
    "Description"] = "Sample Description Wohoo";
    item.Update();

    在 SharePoint 中运行程序,将会创建一个 SPListItem对象,当执行Update() 之后,将会通过数据连接,保存到 SQL Server 中。

    数据库中的保存的结果如下:

    我们在运行一个 Beta 产品!

    就像你想到的,在 SharePoint 2010 中有许多很酷的事情,BCS 就是其中之一,这篇文章讨论了很基础的通过列表 API 来获取和保存数据的问题。

    在写这篇文章的时候,没有任何性能和服务器方面扩展的考虑。当我考虑的时候,我会继续进行说明。

    总结

    像你看到的,使用 SharePoint API 不是很难,你可以通过通常的 SPList 对象来使用外部数据。

    所以,如果需要的话,使用 SharePoint 2010 吧!

    posted on 2011-05-01 14:48  冠军  阅读(1608)  评论(1编辑  收藏  举报