Inheritance: IDbObject
        private Database getTestDatabase()
        {
            var db = new Database { DatabaseName = "TEST", Description = "OLTP for tests", ObjectId = 0, Parent = null, Schemas = null };

            var schema = new Schema { SchemaId = 1, SchemaName = "Sales", Description = "Sales department", Parent = db };
            db.Schemas = new List<Schema>();
            db.Schemas.Add(schema);

            var view = new View { ViewId = 20, ViewName = "vTest", Description = "Sample view", Parent = schema };
            schema.Views = new List<View>();
            schema.Views.Add(view);

            return db;
        }
        private IList<Column> queryForViewColumns(View view)
        {
            var sql = new Sql(@"SELECT C.name AS ColumnName
                        , I.DATA_TYPE AS BaseDataTypeName
                        , I.CHARACTER_MAXIMUM_LENGTH AS MaximumLength
                        , C.is_nullable AS AllowNull
                        , CONVERT(INT, I.NUMERIC_PRECISION) AS Precision
                        , CONVERT(INT, I.NUMERIC_SCALE) AS Scale
                        , C.object_id AS ColumnId
                        , I.COLUMN_DEFAULT AS DefaultValue
                        , C.is_identity AS IsIdentity
                        , C.is_computed AS IsComputed

                    FROM sys.views AS V
                        INNER JOIN sys.schemas AS S
                            ON ( V.schema_id = S.schema_id )
                        INNER JOIN sys.columns AS C
                            ON ( V.object_id = C.object_id )
                        INNER JOIN sys.types AS Y
                            ON ( Y.user_type_id  = C.user_type_id )
                        INNER JOIN INFORMATION_SCHEMA.COLUMNS AS I
                            ON ( I.TABLE_SCHEMA = S.[name] AND I.TABLE_NAME = V.[name] AND I.COLUMN_NAME = C.[name] )

                    WHERE V.object_id = @0

                    ORDER BY C.column_id, C.name;", view.ViewId);

            return this.peta.Fetch<Column>(sql);
        }