コード例 #1
0
 public InternalNestedPropertyEntry(
     InternalPropertyEntry parentPropertyEntry,
     PropertyEntryMetadata propertyMetadata)
     : base(parentPropertyEntry.InternalEntityEntry, propertyMetadata)
 {
     this._parentPropertyEntry = parentPropertyEntry;
 }
コード例 #2
0
 public virtual PropertyEntryMetadata ValidateAndGetPropertyMetadata(
     string propertyName,
     Type declaringType,
     Type requestedType)
 {
     return(PropertyEntryMetadata.ValidateNameAndGetMetadata(this._internalContext, declaringType, requestedType, propertyName));
 }
コード例 #3
0
        private InternalPropertyEntry Property(
            InternalPropertyEntry parentProperty,
            string propertyName,
            IList <string> properties,
            Type requestedType,
            bool requireComplex)
        {
            bool flag           = properties.Count > 1;
            Type requestedType1 = flag ? typeof(object) : requestedType;
            Type declaringType  = parentProperty != null ? parentProperty.EntryMetadata.ElementType : this.EntityType;
            PropertyEntryMetadata propertyMetadata = this.ValidateAndGetPropertyMetadata(properties[0], declaringType, requestedType1);

            if (propertyMetadata == null || (flag || requireComplex) && !propertyMetadata.IsComplex)
            {
                if (flag)
                {
                    throw Error.DbEntityEntry_DottedPartNotComplex((object)properties[0], (object)propertyName, (object)declaringType.Name);
                }
                throw requireComplex?Error.DbEntityEntry_NotAComplexProperty((object)properties[0], (object)declaringType.Name) : Error.DbEntityEntry_NotAScalarProperty((object)properties[0], (object)declaringType.Name);
            }
            InternalPropertyEntry memberEntry = (InternalPropertyEntry)propertyMetadata.CreateMemberEntry(this, parentProperty);

            if (!flag)
            {
                return(memberEntry);
            }
            return(this.Property(memberEntry, propertyName, (IList <string>)properties.Skip <string>(1).ToList <string>(), requestedType, requireComplex));
        }
コード例 #4
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="InternalNestedPropertyEntry" /> class.
        /// </summary>
        /// <param name="parentPropertyEntry"> The parent property entry. </param>
        /// <param name="propertyMetadata"> The property metadata. </param>
        public InternalNestedPropertyEntry(
            InternalPropertyEntry parentPropertyEntry, PropertyEntryMetadata propertyMetadata)
            : base(parentPropertyEntry.InternalEntityEntry, propertyMetadata)
        {
            Contract.Requires(parentPropertyEntry != null);

            _parentPropertyEntry = parentPropertyEntry;
        }
コード例 #5
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="InternalNestedPropertyEntry" /> class.
        /// </summary>
        /// <param name="parentPropertyEntry"> The parent property entry. </param>
        /// <param name="propertyMetadata"> The property metadata. </param>
        public InternalNestedPropertyEntry(
            InternalPropertyEntry parentPropertyEntry, PropertyEntryMetadata propertyMetadata)
            : base(parentPropertyEntry.InternalEntityEntry, propertyMetadata)
        {
            DebugCheck.NotNull(parentPropertyEntry);

            _parentPropertyEntry = parentPropertyEntry;
        }
コード例 #6
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="InternalNestedPropertyEntry" /> class.
        /// </summary>
        /// <param name="parentPropertyEntry"> The parent property entry. </param>
        /// <param name="propertyMetadata"> The property metadata. </param>
        public InternalNestedPropertyEntry(
            InternalPropertyEntry parentPropertyEntry, PropertyEntryMetadata propertyMetadata)
            : base(parentPropertyEntry.InternalEntityEntry, propertyMetadata)
        {
            DebugCheck.NotNull(parentPropertyEntry);

            _parentPropertyEntry = parentPropertyEntry;
        }
コード例 #7
0
 // <summary>
 // Initializes a new instance of the <see cref="InternalPropertyEntry" /> class.
 // </summary>
 // <param name="internalEntityEntry"> The internal entry. </param>
 // <param name="propertyMetadata"> The property info. </param>
 protected InternalPropertyEntry(InternalEntityEntry internalEntityEntry, PropertyEntryMetadata propertyMetadata)
     : base(internalEntityEntry, propertyMetadata)
 {
     DebugCheck.NotNull(propertyMetadata);
 }
コード例 #8
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="InternalEntityPropertyEntry" /> class.
 /// </summary>
 /// <param name="internalEntityEntry"> The internal entry. </param>
 /// <param name="propertyMetadata"> The property info. </param>
 public InternalEntityPropertyEntry(
     InternalEntityEntry internalEntityEntry, PropertyEntryMetadata propertyMetadata)
     : base(internalEntityEntry, propertyMetadata)
 {
 }
コード例 #9
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="InternalEntityPropertyEntry" /> class.
 /// </summary>
 /// <param name="internalEntityEntry"> The internal entry. </param>
 /// <param name="propertyMetadata"> The property info. </param>
 public InternalEntityPropertyEntry(
     InternalEntityEntry internalEntityEntry, PropertyEntryMetadata propertyMetadata)
     : base(internalEntityEntry, propertyMetadata)
 {
 }
コード例 #10
0
 protected InternalPropertyEntry(
     InternalEntityEntry internalEntityEntry,
     PropertyEntryMetadata propertyMetadata)
     : base(internalEntityEntry, (MemberEntryMetadata)propertyMetadata)
 {
 }