2015-11-26 4 views
0

Итак, я понимаю базовый принцип API, чтобы предоставить мне доступ к основным данным и функциям системы - в данном случае Kentico. Например, я хотел получить все данные из таблицы базы данных «CMS_Membership», поэтому я начал с https://devnet.kentico.com/docs/8_2/api/html/N_CMS_Membership.htm, и есть сотни различных классов и функций. Я попробовал несколько, которые выглядели так, как будто они могут вернуть то, что я хочу, но не радость.Понимание API

Вы действительно используете и API, ища имя метода, которое звучит так, как вы хотите? Я слышал о «провайдерах» в kentico, являются ли они более простым способом для выполнения общих функций? В конце концов, я просто написал 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, который представляет таблицу. Например. MemberhipInfo
  • Класс InfoProvider в API, который предоставляет функции для работы с классом Info. Например. MemberhipInfoProvider

Вы можете использовать метод ObjectQuery в классе InfoProvider для возврата списка класса Info. Например. MembershipInfoProvider.GetMemberships()

Я не уверен, что именно вы хотите сделать с таблицей CMS_Membership поэтому я приведу пример получения данных MembershipInfo и итерации над ним;

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

Это очень простой ObjectQuery, вы можете расширить это для создания сложных запросов, которые задают столбцы, Где, заказ, Top, и т.д. Регистрация

Вы также можете найти эти статьи по DataQuery полезным;

+0

Спасибо, похоже, я шел в неправильном направлении :) – CerIs

Смежные вопросы