2015-11-26 85 views
0

因此,我瞭解API的基本原理,爲我提供對系統的核心數據和功能的訪問 - 在這種情況下爲Kentico。例如,我想從「CMS_Membership」數據庫​​表中獲取所有數據,因此我從https://devnet.kentico.com/docs/8_2/api/html/N_CMS_Membership.htm開始,並且有數百個不同的類和函數 - 我嘗試了幾個看起來像他們可能會返回我想要的但沒有歡樂的數據。瞭解API

你真的使用和API通過尋找一個方法名稱,聽起來像你想要的?我聽說過關於「提供者」的信息,這是一種更簡單的方法來實現共同功能嗎?最後,我寫了一個SQL查詢直接導入表,我知道這可能是錯誤的。

+0

任何體面的API應該有至少文檔的一點點,以幫助開發者在使用它。如果沒有,請向母公司投訴(API的存在意味着他們的消費目的)。 –

+1

我剛剛檢查了您的鏈接,並且您正在瀏覽自動生成的文檔,這對於低級信息(類結構,層次結構,方法參數等)更有用。您可能需要閱讀此頁面:https:/ /docs.kentico.com/display/K9/Kentico+9+Documentation+Home;jsessionid=774935347EEC3E2CC472C5E5A3512CA1 –

+0

如果您可以提供有關您要做什麼的詳細信息,我很樂意爲您提供一個更好的工作示例與API。你真的應該避免直接進入數據庫,如果你打算編輯數據更是如此。 –

回答

7

Kentico確實提供了API的文檔(用作對特定類,成員等的引用),例如您引用的頁面; https://devnet.kentico.com/docs/8_2/api/html/N_CMS_Membership.htm

Kentico還提供了有關使用API​​的單獨開發文檔,例如; https://docs.kentico.com/display/K82/Retrieving+database+data+using+ObjectQuery+API

總結你可以在上面的鏈接中閱讀。對於每個CMS對象,您都可以找到;

  • A 在數據庫中。例如。 CMS_Membership
  • 一個信息代表該表的API中的類。例如。 MembershipInfo
  • An InfoProvider API中提供了與Info類一起使用的函數的類。例如。 MembershipInfoProvider

您可以使用InfoProvider類的ObjectQuery方法返回Info類的列表。例如。 MembershipInfoProvider.GetMemberships()

我不知道你想用CMS_Membership表這樣做,我會提供越來越MembershipInfo數據並遍歷它的一個例子具體是什麼;

var members = MembershipInfoProvider.GetMemberships(); 
foreach (MembershipInfo mi in members) 
{ 
    //iterate over your results 
} 

這是一個非常簡單的ObjectQuery,你可以在此擴展到構建複雜的查詢指定列,其中,訂單,頂部,加入等

您也可以找到關於DataQuery有用的這些文章;

+0

謝謝,看起來像我走錯了方向:) – CerIs