internal RelationshipBuilder Relationship(string name) { name.ThrowIfNullOrWhitespace(nameof(name)); DefaultNamePattern.ThrowIfDoesNotMatch(name, nameof(name)); return(_namespaceBuilder.Relationship(name)); }
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); }
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); }