private void InsertPropertyField(ApplicationObject metaObject, SqlFieldInfo fieldInfo)
        {
            IApplicationObjectFactory factory = MetadataManager.GetFactory(metaObject.GetType());

            if (factory == null)
            {
                return;
            }

            string propertyName = factory.PropertyFactory.GetPropertyName(fieldInfo);

            if (string.IsNullOrEmpty(propertyName))
            {
                propertyName = fieldInfo.COLUMN_NAME;
            }

            // Проверка нужна для свойств, имеющих составной тип данных
            MetadataProperty property = metaObject.Properties.Where(p => p.Name == propertyName).FirstOrDefault();

            if (property == null)
            {
                property = factory.PropertyFactory.CreateProperty(metaObject, propertyName, fieldInfo);
                metaObject.Properties.Add(property);
            }
            else if (property.Fields.Where(f => f.Name == fieldInfo.COLUMN_NAME).FirstOrDefault() != null)
            {
                return; // поле добавлять не надо
            }

            property.Fields.Add(factory.PropertyFactory.CreateField(fieldInfo));
        }