当前位置: 首页>>代码示例>>C#>>正文


C# Column.GetKey方法代码示例

本文整理汇总了C#中Column.GetKey方法的典型用法代码示例。如果您正苦于以下问题:C# Column.GetKey方法的具体用法?C# Column.GetKey怎么用?C# Column.GetKey使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Column的用法示例。


在下文中一共展示了Column.GetKey方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: InitPublicTables

        private void InitPublicTables(IEnumerable<ITableFilter> tableFilters,
                                      IEnumerable<ITableFilter> columnsToGenerate)
        {
            {
                var sqlBuffer = new List<string>();
                var bindBuffer = new List<object>();

                foreach (ITableFilter filter in tableFilters) filter.InitSQL("t", sqlBuffer, bindBuffer);

                using (
                    SqlDataRecordExtended rs =
                        _conn.ExecuteDataReader(
                            @"
            select table_name from INFORMATION_SCHEMA.TABLES t where
            t.TABLE_TYPE = 'BASE TABLE'
            " +
                            StringUtil.Agg(" AND ",
                                           sqlBuffer.ToArray()),
                            bindBuffer.ToArray())
                    )
                {
                    while (rs.Read())
                    {
                        string tableName = rs.GetString("table_name");
                        var currentTable = new Table(tableName);
                        Tables.Add(currentTable.TableName, currentTable);
                    }
                }
            }
            {
                var sqlBuffer = new List<string>();
                var bindBuffer = new List<object>();

                foreach (ITableFilter filter in tableFilters) filter.InitSQL("t", sqlBuffer, bindBuffer);
                foreach (ITableFilter filter in columnsToGenerate) filter.InitSQL("c", sqlBuffer, bindBuffer);

                using (
                    SqlDataRecordExtended rs2 =
                        _conn.ExecuteDataReader(
                            @"
              select c.TABLE_NAME , c.COLUMN_NAME , c.DATA_TYPE,
             c.CHARACTER_MAXIMUM_LENGTH as Size, c.IS_NULLABLE as IsNullable,
             c.COLUMN_DEFAULT as DefaultValue,
             c.ordinal_position ,
            t.TABLE_TYPE as TableType
            from INFORMATION_SCHEMA.COLUMNS c
            inner join INFORMATION_SCHEMA.TABLES t on c.TABLE_NAME = t.TABLE_NAME
            where
            t.TABLE_TYPE = 'BASE TABLE'
            " +
                            StringUtil.Agg(" AND ",
                                           sqlBuffer.ToArray()),
                            bindBuffer.ToArray())
                    )
                {
                    while (rs2.Read())
                    {
                        var attr = new Column(
                            rs2.GetString("COLUMN_NAME"),
                            rs2.GetString("DATA_TYPE"),
                            (short) rs2.GetInt32("ordinal_position"),
                            rs2.GetString("TABLE_NAME"),
                            !GetBoolean(rs2.GetString("IsNullable")));
                        Columns.Add(attr.GetKey(), attr);
                    }
                }
            }
            foreach (var curr in Tables)
            {
                GetPublicTableAttributesCached(curr.Value.TableName,
                                               curr.Value.Columns);

                GetTableConstraintsCached(curr.Value.TableName, curr.Value);
            }
            // namespace
        }
开发者ID:wallymathieu,项目名称:mejram,代码行数:76,代码来源:DataBaseObjects.cs


注:本文中的Column.GetKey方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。