Поделиться через


Пошаговое руководство. Создание внешнего списка в SharePoint с помощью бизнес-данных

Служба бизнес-данных Подключение ivity (BDC) позволяет SharePoint отображать бизнес-данные из серверных приложений, веб-служб и баз данных.

В этом пошаговом руководстве показано, как создать модель для службы BDC, которая возвращает сведения о контактах в образце базы данных. Затем вы создадите внешний список в SharePoint с помощью этой модели.

В этом пошаговом руководстве рассматриваются следующие задачи:

  • Создание проекта.
  • Добавление сущности в модель.
  • Добавление метода finder.
  • Добавление конкретного метода Finder.
  • Тестирование проекта.

Необходимые компоненты

Для выполнения этого пошагового руководства требуются следующие компоненты:

  • Поддерживаемые выпуски Windows и SharePoint.

  • Доступ к образцу базы данных AdventureWorks. Дополнительные сведения об установке базы данных AdventureWorks см. в разделе "Примеры баз данных SQL Server".

Создание проекта, содержащего модель BDC

  1. В строке меню в Visual Studio выберите "Файл>нового>проекта".

    Откроется диалоговое окно Создание проекта .

  2. В разделе Visual C# или Visual Basic разверните узел SharePoint и выберите элемент 2010.

  3. В области шаблонов выберите Проект SharePoint 2010, присвойте проекту AdventureWorksTest имя и нажмите кнопку "ОК".

    Откроется мастер настройки SharePoint. В этом мастере можно указать сайт, который будет использоваться для отладки проекта, и задать уровень доверия решения.

  4. Нажмите кнопку "Развернуть как решение фермы", чтобы задать уровень доверия.

  5. Нажмите кнопку "Готово", чтобы принять локальный сайт SharePoint по умолчанию.

  6. В Обозреватель решений выберите узел проекта SharePoint.

  7. В строке меню выберите Проект>Добавить новый элемент.

    Откроется диалоговое окно Добавление нового элемента .

  8. В области шаблонов выберите модель Подключение тивности бизнес-данных (только для фермы), назовите проект AdventureWorksContacts и нажмите кнопку "Добавить".

Добавление классов доступа к данным в проект

  1. В строке меню выберите сервис> Подключение в базу данных.

    Откроется диалоговое окно Добавление соединения.

  2. Добавьте подключение к образцу базы данных SQL Server AdventureWorks.

    Дополнительные сведения см. в разделе "Добавление и изменение Подключение ion" (Microsoft SQL Server).

  3. В области Обозреватель решенийвыберите узел проекта.

  4. В строке меню выберите Проект>Добавить новый элемент.

  5. В области установленных шаблонов выберите узел данных.

  6. В области шаблонов выберите классы LINQ to SQL.

  7. В поле "Имя" укажите AdventureWorks и нажмите кнопку "Добавить".

    В проект будет добавлен файл .dbml, и откроется реляционный конструктор объектов.

  8. В строке меню выберите "Вид>сервера" Обозреватель.

  9. В Обозреватель сервера разверните узел, представляющий пример базы данных AdventureWorks, а затем разверните узел таблиц.

  10. Добавьте таблицу Contact (Person) в конструктор операций ввода-вывода.

    Создается класс сущностей и появляется в области конструктора. Класс сущности имеет свойства, которые сопоставляют столбцы в таблице Contact (Person).

Удаление сущности по умолчанию из модели BDC

Проект модели бизнес-данных Подключение тивности добавляет сущность entity1 по умолчанию с именем Entity1 в модель. Удалите эту сущность. Позже вы добавите новую сущность. Начиная с пустой модели, сокращается количество шагов, необходимых для выполнения пошагового руководства.

  1. В Обозреватель решений разверните узел BdcModel1 и откройте файл BdcModel1.bdcm.

  2. Файл модели бизнес-данных Подключение тивности открывается в конструкторе бизнес-данных.

  3. В конструкторе откройте контекстное меню entity1 и нажмите кнопку "Удалить".

  4. В Обозреватель решений откройте контекстное меню entity1.vb (в Visual Basic) или Entity1.cs (в C#), а затем нажмите кнопку "Удалить".

  5. Откройте контекстное меню Entity1Service.vb (в Visual Basic) или Entity1Service.cs (в C#), а затем нажмите кнопку "Удалить".

Добавление сущности в модель

Добавьте сущность в модель. Сущности из панели элементов Visual Studio можно добавить в конструктор BDC.

  1. В строке меню выберите Вид>Панель элементов.

  2. На вкладке BusinessData Подключение ivity панели элементов добавьте сущность в конструктор BDC.

    Новая сущность появится в конструкторе. Visual Studio добавляет в проект файл с именем EntityService.vb (в Visual Basic) или EntityService.cs (в C#).

  3. В строке меню выберите окно "Просмотр>свойств>".

  4. В окне "Свойства" задайте для свойства Name значение Contact.

  5. В конструкторе откройте контекстное меню для сущности, нажмите кнопку "Добавить" и выберите " Идентификатор".

    Новый идентификатор отображается в сущности.

  6. В окне "Свойства" измените имя идентификатора на ContactID.

  7. В списке "Имя типа" выберите System.Int32.

Добавление метода Specific Finder

Чтобы служба BDC отображала конкретный контакт, необходимо добавить метод Specific Finder. Служба BDC вызывает метод Specific Finder, когда пользователь выбирает элемент в списке, а затем нажимает кнопку "Вид элемента " на ленте.

Добавьте определенный метод Finder в сущность Contact с помощью окна сведений о методе BDC. Чтобы вернуть определенную сущность, добавьте код в метод.

  1. В конструкторе BDC выберите сущность Contact .

  2. В строке меню выберите "Просмотреть>другие сведения о методе BDC Для Windows>".

    Откроется окно сведений о методе BDC.

  3. В списке "Добавить метод " выберите "Создать конкретный метод Finder".

    Visual Studio добавляет в модель следующие элементы. Эти элементы отображаются в окне сведений о методе BDC.

    • Метод с именем ReadItem.

    • Входной параметр для метода.

    • Возвращаемый параметр для метода.

    • Дескриптор типа для каждого параметра.

    • Экземпляр метода для метода.

  4. В окне сведений о методе BDC откройте список, который отображается для дескриптора типа контакта, а затем нажмите кнопку "Изменить".

    Откроется Обозреватель BDC и предоставляет иерархическое представление модели.

  5. В окне "Свойства" откройте список рядом со свойством TypeName, перейдите на вкладку "Текущий проект" и выберите свойство Contact.

  6. В Обозреватель BDC откройте контекстное меню контакта и нажмите кнопку "Добавить дескриптор типа".

    Новый дескриптор типа с именем TypeDescriptor1 отображается в Обозреватель BDC.

  7. В окне "Свойства" задайте для свойства Name значение ContactID.

  8. Откройте список рядом со свойством TypeName и выберите Int32.

  9. Откройте список рядом со свойством Идентификатора и выберите ContactID.

  10. Повторите шаг 6, чтобы создать дескриптор типа для каждого из следующих полей.

    Имя. Тип Имя
    FirstName System.String
    LastName System.String
    Номер телефона System.String
    EmailAddress System.String
    EmailPromotion System.Int32
    NameStyle System.Boolean
    PasswordHash System.String
    PasswordSalt System.String
  11. В конструкторе BDC в сущности Contact откройте метод ReadItem .

    Файл кода службы контактов открывается в редакторе кода.

  12. В классе замените ContactService ReadItem метод следующим кодом. Этот код выполняет следующие задачи:

    • Извлекает запись из таблицы Contact базы данных AdventureWorks.

    • Возвращает сущность контакта в службу BDC.

    Примечание.

    Замените значение ServerName поля именем сервера.

    public static Contact ReadItem(int contactID)
    {
        const string ServerName = "MySQLServerName";
        AdventureWorksDataContext dataContext = new AdventureWorksDataContext
              ("Data Source=" + ServerName + ";" +
               "Initial Catalog=AdventureWorks;Integrated Security=True");
    
        Contact Contact =
            (from contacts in dataContext.Contacts.AsEnumerable().Take(20)
             where contacts.ContactID == contactID
             select contacts).Single();
        return Contact;
    }
    

Добавление метода finder

Чтобы служба BDC отображала контакты в списке, необходимо добавить метод Finder. Добавьте метод Finder в сущность Contact с помощью окна сведений о методе BDC. Чтобы вернуть коллекцию сущностей в службу BDC, добавьте код в метод.

  1. В конструкторе BDC выберите сущность Contact .

  2. В окне сведений о методе BDC свернуть узел ReadItem.

  3. В списке "Добавить метод " в методе ReadList выберите "Создать метод Finder".

    Visual Studio добавляет метод, возвращаемый параметр и дескриптор типа.

  4. В конструкторе BDC в сущности Contact откройте метод ReadList .

    В редакторе кода откроется файл кода службы контактов.

  5. В классе замените ContactService ReadList метод следующим кодом. Этот код выполняет следующие задачи:

    • Извлекает данные из таблицы "Контакты" базы данных AdventureWorks.

    • Возвращает список сущностей контактов в службу BDC.

      Примечание.

      Замените значение ServerName поля именем сервера.

      public static IEnumerable<Contact> ReadList()
      {
          const string ServerName = "MySQLServerName";
          AdventureWorksDataContext dataContext = new AdventureWorksDataContext
                ("Data Source=" + ServerName + ";" +
                 "Initial Catalog=AdventureWorks;Integrated Security=True");
      
          IEnumerable<Contact> Contacts =
              from contacts in dataContext.Contacts.Take(20)
              select contacts;
          return Contacts;
      
      }
      

Тестирование проекта

При запуске проекта откроется сайт SharePoint, а Visual Studio добавляет модель в службу Подключение тивности бизнес-данных. Создайте внешний список в SharePoint, который ссылается на сущность Contact. Данные для контактов в базе данных AdventureWorks отображаются в списке.

Примечание.

Возможно, вам придется изменить параметры безопасности в SharePoint, прежде чем выполнять отладку решения. Дополнительные сведения см. в разделе Проектирование модели подключения к бизнес-данным.

  1. Нажмите клавишу F5.

    Откроется сайт SharePoint.

  2. В меню "Действия сайта" выберите команду "Дополнительные параметры".

  3. На странице "Создать" выберите шаблон внешнего списка и нажмите кнопку "Создать".

  4. Назовите настраиваемые контакты списка.

  5. Нажмите кнопку обзора рядом с полем внешнего типа контента.

  6. В диалоговом окне выбора внешнего типа контента выберите элемент AdventureWorksContacts.BdcModel1.Contact и нажмите кнопку "Создать".

    SharePoint создает внешний список, содержащий контакты из базы данных AdventureWorks.

  7. Чтобы протестировать конкретный метод поиска, выберите контакт в списке.

  8. На ленте выберите вкладку "Элементы " и выберите команду "Просмотреть элемент ".

    В форме отобразятся подробности выбранного контакта.