原文名称:SP 2010: Programmatically work with External Lists (BCS) in SharePoint 2010
上一篇文章:在 SharePoint2010 中使用 BCS (Business Connectivity Services )
介绍
在前一篇文章中,我介绍了在 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 吧!