示例#1
0
        public List<DbColumn> GetDbColumns(string database, string dbTable)
        {
            if (string.IsNullOrEmpty(database))
            {
                throw new ArgumentNullException("database");
            }

            if (string.IsNullOrEmpty(dbTable))
            {
                throw new ArgumentNullException("dbTable");
            }

            var dbColumns = new List<DbColumn>();

            try
            {
                var commandText = string.Format(getDbColumns, database, dbTable);
                IDataReader dataReader = this.sqlServer.ExecuteDataReader(CommandType.Text, commandText, null, null);

                for (var i = 0; i < dataReader.FieldCount; i++)
                {

                    var dbColumn = new DbColumn
                    {
                        Id = i + 1,
                        Name = dataReader.GetName(i),
                        DbColumnType = dataReader.GetDataTypeName(i),
                        Type = dataReader.GetFieldType(i)
                    };

                    commandText = string.Format(getDbColumnSummary, database, dbTable, dbColumn.Name);
                    var summary = this.sqlServer.ExecuteScalar(CommandType.Text, commandText, null, null);
                    dbColumn.Summary = summary != null ? summary.ToString() : string.Empty;

                    dbColumns.Add(dbColumn);
                }

                dataReader.Close();
            }
            catch (Exception exception)
            {
                throw new Exception(exception.Message, exception);
            }

            return dbColumns;
        }
示例#2
0
        private string GetPropertyCode(DbColumn dbColumn)
        {
            if (dbColumn == null)
            {
                throw new ArgumentNullException("dbColumn");
            }

            return "public " + dbColumn.Type + " " + dbColumn.Name + " { get; set; }";
        }