2009-05-21 83 views
0

是否可以在控制檯應用程序中執行SPDataSource對象查詢以進行測試?在控制檯應用程序中執行SPDatasource查詢?

例如爲:

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(); 

我覺得上下文信息丟失,但無法弄清楚如何添加呢?

回答

0

我剛剛在Refelector中看到它,它最終創建了一個名爲SPDataSourceView的類,它依賴於SPContext。

由於標記爲internal的構造函數,我從來沒有能夠從控制檯應用程序創建SPContext。

一種選擇是將您的類放入部署到SharePoint場的Web服務中。然後讓您的控制檯應用程序調用此Web服務。但是,使用Out of Box SharePoint Web Services之一可能會更好。

+0

我真的在尋找一種方法來使用SPDAtaSource測試CAML查詢,而無需將其放入Web部件,因此使測試更容易。 – stuckagain 2009-06-01 08:48:31

+0

你看過那裏的工具來構建和測試CAML查詢嗎? http://www.u2u.be/res/Tools/CamlQueryBuilder.aspx – Jeff 2009-06-01 12:08:53

0

我不確定這裏經過什麼you're,我的意思是

  1. 測試您SPDataSource在控制檯應用程序(沒有做這樣的JD說)
  2. 從SharePoint中的數據源的方式獲取數據。

如果您打算使用解決方案2,則可以使用linqdatasource而不是spdatasource。 請查看我的post,如果這就是你要找的東西。

相關問題