omezující vlastnost
Omezující vlastnost se používá k přidání podrobností do definice vlastnosti primitivního typu. Definice vlastnosti obsahuje informace o typu vlastnosti, ale často je potřeba více podrobností. Například typ entity v konceptuálním modelu může mít vlastnost typu String
, jejíž hodnotu nelze nastavit na hodnotu null. Omezující vlastnosti umožňují zadat tuto úroveň podrobností.
Následující tabulka popisuje omezující vlastnosti podporované v EDM.
Poznámka:
Přesné hodnoty a chování omezujících vlastností jsou určeny prostředím za běhu, které používá implementaci EDM.
Aspekt | Popis | Platí pro |
---|---|---|
Collation |
Určuje kolací sekvenci (nebo pořadí řazení), která se má použít při provádění operací porovnání a řazení hodnot vlastnosti. | String |
ConcurrencyMode |
Označuje, že hodnota vlastnosti by měla být použita pro optimistické kontroly souběžnosti. | Všechny vlastnosti primitivního typu |
Default |
Určuje výchozí hodnotu vlastnosti, pokud není při vytváření instance zadána žádná hodnota. | Všechny vlastnosti primitivního typu |
FixedLength |
Určuje, zda se délka hodnoty vlastnosti může lišit. | Binary , String |
MaxLength |
Určuje maximální délku hodnoty vlastnosti. | Binary , String |
Nullable |
Určuje, zda vlastnost může mít hodnotu null. | Všechny vlastnosti primitivního typu |
Precision |
Pro vlastnosti typu Decimal určuje počet číslic, které může mít hodnota vlastnosti. Pro vlastnosti typu Time , DateTime a DateTimeOffset , určuje počet číslic pro zlomkovou část sekund hodnoty vlastnosti. |
DateTime , DateTimeOffset , Decimal , , Time |
Scale |
Určuje počet číslic napravo od desetinné čárky pro hodnotu vlastnosti. | Desetinné číslo |
Unicode |
Určuje, zda je hodnota vlastnosti uložena jako Unicode. | String |
Příklad
ADO.NET Entity Framework používá jazyk specifický pro doménu (DSL) označovaný jako jazyk CSDL (Conceptual Schema Definition Language) k definování konceptuálních modelů. Následující csDL definuje Book
typ entity. Mějte na paměti, že omezující vlastnosti jsou implementovány jako atributy XML. Hodnoty omezující vlastnosti označují, že žádná vlastnost nemůže být nastavena na hodnotu null a že Scale
hodnota a Precision
vlastnost Revision
jsou nastaveny na hodnotu 29.
<EntityType Name="Book">
<Key>
<PropertyRef Name="ISBN" />
</Key>
<Property Type="String" Name="ISBN" Nullable="false" />
<Property Type="String" Name="Title" Nullable="false" />
<Property Type="Decimal" Name="Revision" Nullable="false" Precision="29" Scale="29" />
<NavigationProperty Name="Publisher" Relationship="BooksModel.PublishedBy"
FromRole="Book" ToRole="Publisher" />
<NavigationProperty Name="Authors" Relationship="BooksModel.WrittenBy"
FromRole="Book" ToRole="Author" />
</EntityType>