public void Setup() { TestDb.Execute(Resources.testdb_b); Action <MySqlClassGenerator> a = delegate(MySqlClassGenerator x) { x.Formatter.AddAlias("a", "TestAlias1"); x.Formatter.AddAlias("AbCdEfGhIj"); x.AddColumnCollection("TestColl", typeof(TestCollEnum), typeof(int), typeof(int), Resources.testdb_b_name, new ColumnCollectionItem[] { ColumnCollectionItem.FromEnum(x.Formatter, "asdfA", TestCollEnum.A), ColumnCollectionItem.FromEnum(x.Formatter, "asdfB", TestCollEnum.B), ColumnCollectionItem.FromEnum(x.Formatter, "asdfC", TestCollEnum.C) }); x.AddColumnCollection("TestCollTwo", typeof(TestCollNestedEnum), typeof(int), typeof(int), Resources.testdb_b_name, new ColumnCollectionItem[] { ColumnCollectionItem.FromEnum(x.Formatter, "bbbbA", TestCollNestedEnum.A), ColumnCollectionItem.FromEnum(x.Formatter, "bbbbB", TestCollNestedEnum.B), ColumnCollectionItem.FromEnum(x.Formatter, "bbbbC", TestCollNestedEnum.C) }); }; _dbTypes = ClassCreatorHelper.GetTableTypes(Resources.testdb_b_name, a); _dbProperties = ClassCreatorHelper.GetTableTypeProperties(_dbTypes); _conn = TestDb.Open(); }
static IEnumerable <ColumnCollectionItem> GetStatColumnCollectionItems(CodeFormatter formatter, StatCollectionType statCollectionType) { var columnItems = new List <ColumnCollectionItem>(); foreach (var statType in EnumHelper <StatType> .Values) { var dbField = statType.GetDatabaseField(statCollectionType); var item = ColumnCollectionItem.FromEnum(formatter, dbField, statType); columnItems.Add(item); } return(columnItems); }
/// <summary> /// Gets the <see cref="ColumnCollection"/> for a given <see cref="DbColumnInfo"/>, or null if the /// <see cref="DbColumnInfo"/> is not part of any <see cref="ColumnCollection"/> in this table. /// </summary> /// <param name="dbColumn">The <see cref="DbColumnInfo"/> to get the <see cref="ColumnCollection"/> for.</param> /// <param name="item">The <see cref="ColumnCollectionItem"/> for the <paramref name="dbColumn"/> in the /// <see cref="ColumnCollection"/>.</param> /// <returns>The <see cref="ColumnCollection"/> the <see cref="DbColumnInfo"/> is part of, or null if it /// is not part of a <see cref="ColumnCollection"/>.</returns> /// <exception cref="ArgumentException">The <paramref name="dbColumn"/> matched more than one <see cref="ColumnCollection"/>.</exception> public ColumnCollection GetCollectionForColumn(DbColumnInfo dbColumn, out ColumnCollectionItem item) { foreach (var columnCollection in ColumnCollections) { var matches = columnCollection.Columns.Where(x => x.ColumnName.Equals(dbColumn.Name, StringComparison.OrdinalIgnoreCase)); var count = matches.Count(); if (count == 1) { item = matches.First(); return columnCollection; } else if (count > 1) { const string errmsg = "DbColumnInfo for column `{0}` in table `{1}` matched more than one ColumnCollection!"; throw new ArgumentException(string.Format(errmsg, dbColumn.Name, TableName)); } } item = default(ColumnCollectionItem); return null; }