EdmProperty.Nullable Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient une valeur indiquant si cet objet EdmProperty peut avoir une valeur Null.
public bool Nullable { get; set; }
member this.Nullable : bool with get, set
Public Property Nullable As Boolean
Valeur de propriété
true si cette EdmProperty valeur peut avoir une valeur Null ; sinon, false.
Exceptions
Levée si le setter est appelé lorsque le instance EdmProperty est à l’état ReadOnly
Remarques
La possibilité de valeur Null dans le modèle conceptuel et le modèle de magasin indique simplement si la propriété est considérée comme nullable. La possibilité de valeur Null dans le modèle objet est plus complexe. Lors de l’utilisation d’un mappage basé sur une convention (comme cela se produit généralement avec les entités POCO), une propriété dans le modèle objet est considérée comme nullable si et seulement si le type CLR sous-jacent est nullable et que la propriété ne fait pas partie de la clé primaire. Lors de l’utilisation d’un mappage basé sur des attributs (généralement utilisé avec des entités qui dérivent de la classe de base EntityObject), une propriété est considérée comme nullable si l’indicateur IsNullable a la valeur true dans l’attribut EdmScalarPropertyAttribute . Cet indicateur peut être défini sur true même si le type sous-jacent n’est pas nullable, et peut être défini sur false même si le type sous-jacent est nullable. Ce dernier cas se produit dans le cadre de la génération de code par défaut lorsqu’une propriété non nullable dans le modèle conceptuel est mappée à un type CLR nullable tel qu’une chaîne. Dans ce cas, Entity Framework traite la propriété comme non nullable, même si le CLR autorise la définition de null. Il n’existe aucune raison valable de définir un type CLR non nullable comme nullable dans le modèle objet et cela ne doit pas être effectué même si l’attribut l’autorise.