コード例 #1
0
        internal RelationshipBuilder Relationship(string name)
        {
            name.ThrowIfNullOrWhitespace(nameof(name));
            DefaultNamePattern.ThrowIfDoesNotMatch(name, nameof(name));

            return(_namespaceBuilder.Relationship(name));
        }
コード例 #2
0
        internal PropertyBuilder Property(string name)
        {
            name.ThrowIfNullOrWhitespace(nameof(name));
            DefaultNamePattern.ThrowIfDoesNotMatch(name, nameof(name));

            if (DefinesProperty(name))
            {
                throw new InvalidOperationException($"Property \"{name}\" is already defined for entity \"{FullName}\".");
            }

            var propertyBuilder = new PropertyBuilder(this, _ordinal++, name);

            _propertyBuilders.Add(propertyBuilder);
            _allPropertyBuilders.Add(propertyBuilder);
            return(propertyBuilder);
        }
コード例 #3
0
ファイル: ModelBuilder.cs プロジェクト: anthrax3/Swolder
        public EntityBuilder Entity(string @namespace, string name)
        {
            @namespace.ThrowIfNullOrWhitespace(nameof(@namespace));
            name.ThrowIfNullOrWhitespace(nameof(name));
            DefaultNamePattern.ThrowIfDoesNotMatch(@namespace, nameof(@namespace));
            DefaultNamePattern.ThrowIfDoesNotMatch(name, nameof(name));

            if (_entityBuilders.Any(tf => tf.DefinesEntity(@namespace, name)))
            {
                throw new InvalidOperationException($"Entity \"{@namespace}.{name}\" already exists.");
            }

            var entityBuilder = new EntityBuilder(this, @namespace, name);

            _entityBuilders.Add(entityBuilder);
            return(entityBuilder);
        }