Элемент 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, тип сущностей, сложный тип или быть коллекцией типов сущностей или сложных типов, описанных в пределах модели. ![]()
В концептуальной модели для приложения, предназначенного для работы с платформой .NET Framework версии 3.5 с пакетом обновлений 1 (SP1), возвращаемый тип должен быть коллекцией типов EDMSimpleTypes или типов сущностей.
|
EntitySet |
Нет |
Если функция возвращает коллекцию типов сущностей, значение EntitySet должно быть набором сущностей, к которому принадлежит коллекция. В противном случае атрибут EntitySet не должен использоваться. |
![]() |
---|
К элементу 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