コード例 #1
0
        private EntityTypeConfiguration(EntityTypeConfiguration source)
            : base(source)
        {
            DebugCheck.NotNull(source);

            _keyProperties.AddRange(source._keyProperties);
            _keyConfiguration = source._keyConfiguration;

            source._indexConfigurations.Each(
                c => _indexConfigurations.Add(c.Key, c.Value.Clone()));
            source._navigationPropertyConfigurations.Each(
                c => _navigationPropertyConfigurations.Add(c.Key, c.Value.Clone()));
            source._entitySubTypesMappingConfigurations.Each(
                c => _entitySubTypesMappingConfigurations.Add(c.Key, c.Value.Clone()));

            _entityMappingConfigurations.AddRange(
                source._entityMappingConfigurations.Except(source._nonCloneableMappings).Select(e => e.Clone()));

            _entitySetName = source._entitySetName;

            if (source._modificationStoredProceduresConfiguration != null)
            {
                _modificationStoredProceduresConfiguration = source._modificationStoredProceduresConfiguration.Clone();
            }

            IsReplaceable         = source.IsReplaceable;
            IsTableNameConfigured = source.IsTableNameConfigured;
            IsExplicitEntity      = source.IsExplicitEntity;

            foreach (var annotation in source._annotations)
            {
                _annotations.Add(annotation);
            }
        }
コード例 #2
0
        internal virtual Properties.Index.IndexConfiguration ConfigureKey()
        {
            if (_keyConfiguration == null)
            {
                _keyConfiguration = new Properties.Index.IndexConfiguration();
            }

            return(_keyConfiguration);
        }
コード例 #3
0
        internal virtual Properties.Index.IndexConfiguration Index(PropertyPath indexProperties)
        {
            Properties.Index.IndexConfiguration indexConfiguration;
            if (!_indexConfigurations.TryGetValue(indexProperties, out indexConfiguration))
            {
                _indexConfigurations.Add(
                    indexProperties,
                    indexConfiguration = new Properties.Index.IndexConfiguration());
            }

            return(indexConfiguration);
        }
コード例 #4
0
        internal virtual void Key(IEnumerable <PropertyInfo> keyProperties)
        {
            DebugCheck.NotNull(keyProperties);

            ClearKey();

            foreach (var property in keyProperties)
            {
                Key(property, OverridableConfigurationParts.None);
            }

            if (_keyConfiguration == null)
            {
                _keyConfiguration = new Properties.Index.IndexConfiguration();
            }
        }
コード例 #5
0
 internal void ClearKey()
 {
     _keyProperties.Clear();
     _keyConfiguration = null;
 }