Элемент FunctionImport (язык CSDL)

Элемент FunctionImport в языке CSDL представляет функцию, определенную в источнике данных, но доступную для объектов через концептуальную модель. Например, элемент Function в модели хранения может быть использован для представления хранимой процедуры в базе данных. Элемент FunctionImport в концептуальной модели представляет соответствующую функцию в приложении Entity Framework ; он сопоставляется с функцией модели хранения с помощью элемента FunctionImportMapping. При вызове функции в приложении соответствующая хранимая процедура выполняется в базе данных.

Метод среды CLR может быть создан для приложения Entity Framework , основываясь на элементе FunctionImport. Дополнительные сведения см. в разделах Общие сведения о созданном коде (конструктор моделей EDM) и Как использовать файл EdmGen.exe для создания кода уровня объектов.

Элемент FunctionImport может иметь следующие дочерние элементы (в порядке перечисления).

  • Documentation (допустимое количество элементов — ноль или один)

  • Parameter (допустимое количество элементов — ноль или больше)

  • Элементы Annotation (допустимое количество элементов — ноль или больше)

Один элемент Parameter должен быть определен для каждого параметра, принимаемого функцией.

Применимые атрибуты

В таблице ниже описываются атрибуты, которые можно применить к элементу FunctionImport.

Имя атрибута Необходимо Значение

Name

Да

Имя импортируемой функции.

ReturnType

Нет

Тип, возвращаемый функцией. Не используйте этот атрибут, если функция не возвращает значение. В противном случае значение должно иметь тип EDMSimpleType, тип сущностей, сложный тип или быть коллекцией типов сущностей или сложных типов, описанных в пределах модели.

Cc716710.note(ru-ru,VS.100).gifПримечание
В концептуальной модели для приложения, предназначенного для работы с платформой .NET Framework версии 3.5 с пакетом обновлений 1 (SP1), возвращаемый тип должен быть коллекцией типов EDMSimpleTypes или типов сущностей.

EntitySet

Нет

Если функция возвращает коллекцию типов сущностей, значение EntitySet должно быть набором сущностей, к которому принадлежит коллекция. В противном случае атрибут EntitySet не должен использоваться.

Cc716710.note(ru-ru,VS.100).gifПримечание
К элементу FunctionImport может быть применено любое количество атрибутов annotation (настраиваемых атрибутов XML).Однако настраиваемые атрибуты не могут принадлежать к любому пространству имен XML, зарезервированному для CSDL.Полные имена любых двух настраиваемых атрибутов не могут совпадать.

Пример

В следующем примере показывается элемент FunctionImport, который принимает один входной параметр и возвращает коллекцию типов сущностей:

<FunctionImport Name="GetStudentGrades" 
                EntitySet="StudentGrade" 
                ReturnType="Collection(SchoolModel.StudentGrade)">
       <Parameter Name="StudentID" Mode="In" Type="Int32" />
</FunctionImport>

См. также

Основные понятия

Общие сведения о платформе Entity Framework
Спецификация языка CSDL
Элемент EntityContainer (язык CSDL)

Другие ресурсы

Спецификации языка CSDL, SSDL и MSL
ADO.NET Entity Data Model Tools
How to: Import a Stored Procedure