//--------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner Microsoft // @backupOwner Microsoft //--------------------------------------------------------------------- namespace System.Data.Objects.DataClasses { using System; /// /// Attribute for scalar properties in an IEntity. /// Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, /// The metadata system expects this and will only look at the first of each of these attributes, even if there are more. /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Edm")] [AttributeUsage(AttributeTargets.Property)] public sealed class EdmScalarPropertyAttribute : EdmPropertyAttribute { // Private variables corresponding to their properties. private bool _isNullable = true; private bool _entityKeyProperty; /// /// Attribute for scalar properties. /// EdmScalarPropertyAttribute(EntityKeyProperty=[true|false], IsNullable=[true|false]) /// IsNullable and EntityKeyProperty cannot both be true. /// public EdmScalarPropertyAttribute() { } /// /// The property is allowed to have a value of NULL. /// public bool IsNullable { get { return _isNullable; } set { _isNullable = value;} } /// /// The property is a key. /// public bool EntityKeyProperty { get { return _entityKeyProperty; } set { _entityKeyProperty = value; } } } }