예제 #1
0
        public void AddColumn(string name, Guid dataValueTypeId, List <IValidator> validators = null)
        {
            if (Entity.Schema.Columns.Count == 0)
            {
                Entity.Schema.Columns.Add(new EntityColumn {
                    Name = "Id", DataValueType = DataValueType.UniqueidentifierDataValueTypeId, Validators = null
                });
            }
            if (Entity.Schema.Columns.Select(x => x.Name.ToLower()).Any(x => x == name.ToLower()))
            {
                throw new ArgumentException($"EntityColumn with name: {name} already exist!");
            }

            Entity.Schema.Columns.Add(new EntityColumn {
                Name = name, DataValueType = dataValueTypeId, Validators = validators
            });
            _storage.UpdateDataBaseStructure();

            _storage.AddColoumn(Entity);
        }