示例#1
0
        private ColumnModel BuildColumnModel(ColumnRawModel rawColumn, List <IndexColumnModel>?pkCols, List <ColumnRef>?fkList)
        {
            string clrName = ToColCrlName(rawColumn.DbName);

            var pkIndex = pkCols?.FindIndex(c => c.DbName.Equals(rawColumn.DbName));

            PkInfo?pkInfo = null;

            if (pkIndex >= 0 && pkCols != null)
            {
                pkInfo = new PkInfo(pkIndex.Value, pkCols[pkIndex.Value].IsDescending);
            }

            return(new ColumnModel(
                       name: clrName,
                       dbName: rawColumn.DbName,
                       ordinalPosition: rawColumn.OrdinalPosition,
                       columnType: this.Database.GetColType(raw: rawColumn),
                       pk: pkInfo,
                       identity: rawColumn.Identity,
                       defaultValue: this.Database.ParseDefaultValue(rawColumn.DefaultValue),
                       fk: fkList));
        }
示例#2
0
 public abstract ColumnType GetColType(ColumnRawModel raw);
示例#3
0
 public override ColumnType GetColType(ColumnRawModel raw)
 {
     throw new NotImplementedException();
 }