TypeRef 項目 (CSDL)
概念結構定義語言 (CSDL) 中的 TypeRef 項目提供現有具名型別的參考。 TypeRef 項目可以是 CollectionType 項目的子系,可將具有集合的函式指定為參數或傳回型別。 如需詳細資訊,請參閱 Function 項目 (CSDL)。
TypeRef 項目可以擁有下列子項目 (依列出的順序):
Documentation (零或一個項目)
Annotation 項目 (零或多個項目)
適用屬性
下表描述的屬性可套用至 TypeRef 項目。 請注意,DefaultValue、MaxLength、FixedLength、Precision、Scale、Unicode 和 Collation 屬性僅適用於 EDMSimpleTypes。 如需詳細資訊,請參閱 Facet (CSDL) 和概念模型型別。
屬性名稱 | 必要 | 值 |
---|---|---|
Type |
否 |
所參考的型別名稱。 |
Nullable |
否 |
True (預設值) 或 False 是根據屬性是否可以有 null 值而定。
注意:
在 https://schemas.microsoft.com/ado/2006/04/edm 命名空間所指的 CSDL 版本中,複雜類型屬性必須是
Nullable="False" 。
|
DefaultValue |
否 |
屬性的預設值。 |
MaxLength |
否 |
屬性值的最大長度。 |
FixedLength |
否 |
True 或 False 是根據屬性值是否可以儲存為固定長度的字串而定。 |
Precision |
否 |
屬性值的準確度。 |
Scale |
否 |
屬性值的小數點位數。 |
Unicode |
否 |
True 或 False 是根據屬性值是否可以儲存為 Unicode 字串而定。 |
Collation |
否 |
指定資料來源中使用之定序順序的字串。 |
注意: |
---|
可以將任何數量的註釋屬性 (自訂 XML 屬性) 套用至 CollectionType 項目。不過,自訂屬性不可屬於任何 XML 命名空間,這是保留供 CSDL 使用。任兩個自訂屬性的完整名稱不能相同。 |
範例
下列範例示範模型定義函式,此函式使用 TypeRef 項目 (為 CollectionType 項目的子系) 指定該函式接受 Department 實體類型的集合。
<Function Name="GetAvgBudget">
<Parameter Name="Departments">
<CollectionType>
<TypeRef Type="SchoolModel.Department"/>
</CollectionType>
</Parameter>
<ReturnType Type="Collection(Edm.Decimal)"/>
<DefiningExpression>
SELECT VALUE AVG(d.Budget) FROM Departments AS d
</DefiningExpression>
</Function>
另請參閱
概念
Entity Framework 概觀
CSDL 規格
FunctionImport 項目 (CSDL)