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


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

Чтобы включить службу бизнес-данных Подключение ivity (BDC) для отображения списка сущностей в веб-части или списке, необходимо создать метод Finder. Метод Finder — это специальный метод, который возвращает коллекцию экземпляров сущностей. Дополнительные сведения см. в статье "Проектирование бизнес-данных Подключение тивная модель".

Создание метода Finder

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

    Дополнительные сведения см. в статье "Практическое руководство. Добавление сущности в модель".

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

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

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

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

  4. Настройте дескриптор типа в качестве дескриптора типа коллекции сущностей. Дополнительные сведения о создании дескриптора типа коллекции сущностей см. в разделе "Практическое руководство. Определение дескриптора типа параметра".

    Примечание.

    Этот шаг не требуется выполнить, если вы добавили в сущность метод Specific Finder. Visual Studio использует дескриптор типа, определенный в методе Specific Finder.

  5. В Обозреватель решений откройте контекстное меню файла кода службы, созданного для сущности, а затем выберите команду View Code. Дополнительные сведения о файле кода службы см. в статье "Создание модели подключения к бизнес-данным".

  6. Добавьте код в метод Finder. Этот код выполняет следующие задачи:

    • Извлекает данные из источника данных.

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

      В следующем примере возвращается коллекция сущностей Contact с помощью данных из примера базы данных AdventureWorks для SQL Server.

    Примечание.

    Замените значение 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;
    
    }