Freigeben über


Typeinschränkungen (EDM)

Im Entitätsdatenmodell (EDM) können Einschränkungen für die Eigenschaften der Entitätstypen festgelegt werden. Einschränkungen beschränken die möglichen Werte einer Eigenschaft und bestätigen, dass der einer Eigenschaft zugeordnete Wert den richtigen Datentyp aufweist und für die Geschäftsanforderungen der Anwendung gültig ist.

Nullable-Einschränkung

Die Nullable-Einschränkung kann auf jede Eigenschaft angewendet werden. Die Nullable-Einschränkung ist die einfachste Einschränkung und gibt an, ob der Eigenschaft ein Wert zugewiesen werden muss oder ob diese Null sein kann.

Die Schlüssel-Eigenschaft einer Entität wird verwendet, um die Instanzen des Typs in Anwendungen zu identifizieren. Der Schlüssel-Eigenschaft muss beim Erstellen der Entität ein Wert zugewiesen werden. Die Nullable-Einschränkung ist für die Eigenschaft einer Entität, die den Schlüssel enthält, stets erforderlich. Wenn die Nullable-Einschränkung auf false festgelegt ist, wird die Instanziierung von Entitäten ohne Bezeichner verhindert.

Im folgenden Schema werden Nullable-Einschränkungen für die Eigenschaften des Typs Person festgelegt. Die EMailID-Eigenschaft kann den Wert Null haben, der Name-Eigenschaft muss jedoch ein Wert zugewiesen werden. Andernfalls wird beim Speichern des Typs durch den Code ein Laufzeitfehler ausgelöst.

    <EntityType Name="Person">
        <Key>
            <PropertyRef Name="Name" />
        </Key>
        <Property Name="Name" Type="String" Nullable="false" />
        <Property Name="EmailID" Type="String" Nullable="false" />
        <Property Name="Address" Type="AddressType" Nullable="true" />
        <Property Name="PhoneNumber" Type="String" />
    </EntityType>

Wie in SQL Server ist der Standardwert des Null-Attributs true. Die Address-Eigenschaft und die PhoneNumber-Eigenschaft in diesem Beispiel müssen nicht zugewiesen werden.

Default-Attribut

Das Default-Attribut legt einen Wert für eine Eigenschaft fest, wenn bei der Erstellung einer Instanz der Entität kein Wert für diese Eigenschaft angegeben wird. Im folgenden Beispiel hat die Locale-Eigenschaft den Standardwert NW Region, wenn kein anderer Wert bei der Instanziierung eines neuen Customer angegeben wird.

    <EntityType Name="Customer">
        <Key>
            <PropertyRef Name="CustomerId" />
        </Key>
        <Property Name="CustomerId" Type="String" Nullable="false" />
        <Property Name="Name" Type="String" Nullable="false" />
        <Property Name="Locale" Type="String" Default="NW Region"/>
        <!--Other Properties-->
    </EntityType>

Siehe auch

Konzepte

'GetterAccess'- und 'SetterAccess'-Attribute (CSDL)
Einfache Typen (EDM)