コード例 #1
0
        /// <inheritdoc/>
        public override void Lock(bool recursive)
        {
            base.Lock(recursive);

            int currentFieldId = FieldInfo.MinFieldId;

            foreach (var field in fields)
            {
                field.FieldId = currentFieldId++;
            }
            isLeaf = GetIsLeaf();
            key    = GetKey();

            if (IsEntity || IsStructure)
            {
                Accessors = new FieldAccessorProvider(this);
            }

            if (!recursive)
            {
                return;
            }

            validators = new ReadOnlyList <IObjectValidator>(validators.ToList());

            affectedIndexes.Lock(true);
            indexes.Lock(true);
            columns.Lock(true);
            fieldMap.Lock(true);
            fields.Lock(true);
        }
コード例 #2
0
 static FieldMap()
 {
     Empty = new FieldMap();
     Empty.Lock();
 }