了解 API

Understanding the API

所以我了解 API 的基本原理,让我可以访问系统的核心数据和功能 - 在本例中为 Kentico。例如,我想从 "CMS_Membership" 数据库 table 获取所有数据,所以我从 https://devnet.kentico.com/docs/8_2/api/html/N_CMS_Membership.htm 开始,有数百种不同的 类 和函数 - 我尝试了很少有人看起来像 return 我想要的但没有快乐。

您真的通过寻找听起来像您想要的方法名称来使用和 API 吗?我在 kentico 听说过 "providers",这些是执行常用功能的更简单方法吗?最后我只是写了一个 SQL 查询直接转到 table 我知道这可能是错误的。

Kentico 确实提供了 API 的文档(用作对特定 classes、成员等的引用),例如您引用的页面; 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

总结您在上面的 link 中可以阅读的内容。对于每个 CMS 对象,您会发现;

  • 数据库中有一个Table。例如。 CMS_Membership
  • 代表 Table 的 API 中的 Info class。例如。会员信息
  • API 中的 InfoProvider class 提供了与信息 class 一起使用的功能。例如。 MembershipInfoProvider

您可以在 InfoProvider class 上使用 ObjectQuery 方法来 return Info class 的列表。例如。 MembershipInfoProvider.GetMemberships()

我不确定你想用 CMS_Membership table 做什么,所以我将提供一个获取 MembershipInfo 数据并对其进行迭代的示例;

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

这是一个非常简单的 ObjectQuery,您可以在此基础上进行扩展以构建指定列、位置、顺序、顶部、连接等的复杂查询。

您可能还会发现这些关于 DataQuery 的文章很有帮助;