在Console App中执行SPDatasource查询?

时间:2009-05-21 10:17:46

标签: sharepoint

是否可以在控制台应用中执行SPDataSource对象查询以进行测试?

e.g:

SPDataSource source = new SPDataSource
{
    UseInternalName = true,
    DataSourceMode = SPDataSourceMode.List,
    SelectCommand = "<View/>"
};

source.SelectParameters.Add("WebId", TypeCode.String, "rootweb");
source.SelectParameters.Add("ListName", TypeCode.String, "Contacts");
var c = source.GetView(); 
var d = c.Select();

我认为缺少上下文信息,但无法弄清楚如何添加它?

2 个答案:

答案 0 :(得分:0)

我只是在Refelector中看了它,它最终创建了一个名为SPDataSourceView的类,它依赖于SPContext。

我从未能够从控制台应用程序创建SPContext,因为构造函数标记为内部。

一种选择是将您的类放入部署到SharePoint场的Web Service。然后让您的控制台应用程序调用此Web服务。但是,最好使用Out of Box SharePoint Web Services之一。

答案 1 :(得分:0)

我不确定你在这之后是什么意思,我的意思是

  1. 在控制台应用程序中测试您的SPDataSource(没有像JD所说的那样做)
  2. 以数据源方式从sharepoint获取数据。
  3. 如果您要使用解决方案2,则可以使用linqdatasource而不是spdatasource。 如果您正在寻找的话,请参阅我的post