Esempio n. 1
0
        /// <summary>
        /// 初始化属性的值。
        /// </summary>
        /// <param name="property"></param>
        /// <param name="value"></param>
        public virtual void InitializeValue(IProperty property, PropertyValue value)
        {
            if (property is RelationProperty)
            {
                lazyMgr.SetValueCreated(property.Name);
            }

            valueEntry.Initializate(property.Name, value);
        }
Esempio n. 2
0
        void IEntity.InitializateValue(IProperty property, PropertyValue value, bool modify)
        {
            if (property is RelationProperty)
            {
                lazyMgr.SetValueCreated(property.Name);
            }

            if (modify)
            {
                valueEntry.Modify(property.Name, value);
            }
            else
            {
                valueEntry.Initializate(property.Name, value);
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 处理附加属性的值。
        /// </summary>
        /// <param name="property"></param>
        /// <returns></returns>
        private PropertyValue ProcessSupposedProperty(IProperty property)
        {
            var relationProperty = property.As <RelationProperty>();

            if (relationProperty != null &&
                relationProperty.Options.LoadBehavior != LoadBehavior.None)
            {
                var value = EntityLazyloader.Load(this, relationProperty);
                lazyMgr.SetValueCreated(property.Name);
                if (value != null)
                {
                    valueEntry.Initializate(property.Name, value, () => value.Property = property);
                }

                return(value);
            }

            return(null);
        }