예제 #1
0
        /// <summary>
        /// Use a list collection
        /// </summary>
        public T AsList()
        {
            collectionBuilder = attrs => CollectionMapping.List(attrs);
            CreateIndexMapping(null);

            if (indexMapping.Columns.IsEmpty())
            {
                var columnMapping = new ColumnMapping();
                columnMapping.Set(x => x.Name, Layer.Defaults, "Index");
                indexMapping.AddColumn(Layer.Defaults, columnMapping);
            }

            return((T)this);
        }
예제 #2
0
        /// <summary>
        /// Specifies the column name for the index or key of the dictionary.
        /// </summary>
        /// <param name="indexColumnName">Column name</param>
        public void Column(string indexColumnName)
        {
            var column = new ColumnMapping(sharedColumnAttributes);

            column.Set(x => x.Name, Layer.UserSupplied, indexColumnName);
            mapping.AddColumn(Layer.UserSupplied, column);
        }
예제 #3
0
 /// <summary>
 /// Specifies the column name for the index or key of the dictionary.
 /// </summary>
 /// <param name="indexColumnName">Column name</param>
 public void Column(string indexColumnName)
 {
     mapping.AddColumn(new ColumnMapping(sharedColumnAttributes)
     {
         Name = indexColumnName
     });
 }
예제 #4
0
        public void ShouldWriteColumns()
        {
            var mapping = new IndexMapping();

            mapping.AddColumn(new ColumnMapping());

            writer.VerifyXml(mapping)
            .Element("column").Exists();
        }
예제 #5
0
        /// <summary>
        /// Adds a column to the index if columns have not yet been specified
        /// </summary>
        /// <param name="columnName">The column name to add</param>
        public void Column(string columnName)
        {
            var originalColumn = mapping.Columns.FirstOrDefault();
            var column         = originalColumn == null ? new ColumnMapping() : originalColumn.Clone();

            column.Set(x => x.Name, Layer.Conventions, columnName);

            mapping.AddColumn(Layer.Conventions, column);
        }
예제 #6
0
        public IndexMapping GetIndexMapping()
        {
            var mapping = new IndexMapping(attributes.CloneInner());

            mapping.ContainingEntityType = entity;

            columns.Each(x => mapping.AddColumn(new ColumnMapping {
                Name = x
            }));

            return(mapping);
        }
예제 #7
0
 void ICollectionInstance.AsList()
 {
     mapping.Collection = Collection.List;
     if (mapping.Index == null)
     {
         var indexMapping  = new IndexMapping();
         var columnMapping = new ColumnMapping();
         columnMapping.Set(x => x.Name, Layer.Defaults, "Index");
         indexMapping.AddColumn(Layer.Defaults, columnMapping);
         mapping.Set(x => x.Index, Layer.Defaults, indexMapping);
     }
     ;
 }
예제 #8
0
        public IndexMapping GetIndexMapping()
        {
            var mapping = new IndexMapping(attributes.Clone());

            mapping.ContainingEntityType = entity;

            columns.Each(name =>
            {
                var columnMapping = new ColumnMapping();
                columnMapping.Set(x => x.Name, Layer.Defaults, name);
                mapping.AddColumn(Layer.UserSupplied, columnMapping);
            });

            return(mapping);
        }
예제 #9
0
        /// <summary>
        /// Adds a column to the index if columns have not yet been specified
        /// </summary>
        /// <param name="columnName">The column name to add</param>
        public void Column(string columnName)
        {
            if (mapping.Columns.UserDefined.Count() > 0)
            {
                return;
            }

            var originalColumn = mapping.Columns.FirstOrDefault();
            var column         = originalColumn == null ? new ColumnMapping() : originalColumn.Clone();

            column.Name = columnName;

            mapping.ClearColumns();
            mapping.AddColumn(column);
        }
예제 #10
0
 public void ColumnsCollectionHasSameCountAsMapping()
 {
     mapping.AddColumn(new ColumnMapping());
     inspector.Columns.Count().ShouldEqual(1);
 }